首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >AngularJS标签属性

AngularJS标签属性
EN

Stack Overflow用户
提问于 2012-08-24 18:18:58
回答 3查看 33.9K关注 0票数 57

我正在学习AngularJS,看到它添加了一些自己的属性,这些属性也不是从数据开始的,也不是标准的html标签属性,比如:

<html ng-app>

或者这样:

<body ng-controller="PhoneListCtrl">

这些ng-*属性是从哪里来的,它是有效的HTML吗?我在哪里可以读到关于这方面的更多信息?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-08-24 18:49:36

严格地说,这些额外的属性没有在HTML规范中定义,因此不是有效的HTML。您可以说AngularJS提供并解析了HTML规范的超集。

但是,从v1.0.0rc1开始,您可以使用data-*属性,例如我认为是有效HTML5的<html data-ng-app>Source

这里有一个AngularJS Compiler指南,其中包含有关该过程的更多信息。简而言之,AngularJS编译器读取您的HTML页面,使用这些属性指导它在加载后通过javascript和HTML DOM编辑和更新页面。

票数 51
EN

Stack Overflow用户

发布于 2013-03-10 08:39:50

来自文档:http://docs.angularjs.org/guide/directive

<!doctype html>
<html data-ng-app>
  <head>
    <script src="http://code.angularjs.org/1.0.7/angular.min.js"></script>
    <script src="script.js"></script>
  </head>
  <body>
    <div data-ng-controller="Ctrl1">
      These are all valid directive declarations:<br/>
      <input ng-model='name'> <hr/>
      <span ng:bind="name"></span> <br/>
      <span ng_bind="name"></span> <br/>
      <span ng-bind="name"></span> <br/>          
      <span x-ng-bind="name"></span> <br/>
      <span data-ng-bind="name"></span> <br/>
    </div>
  </body>
</html>

我最喜欢data-*whatever*声明,因为它符合HTML5。

因此,对于我的任何角度声明(例如ng-controllerng-appng-repeat等)或自定义指令,我总是以data-作为它们的前缀。

票数 27
EN

Stack Overflow用户

发布于 2014-09-30 09:33:54

另一种选择是忽略未定义的属性名称。如果您使用的是Eclipse,您可以通过转到项目properties>>validation>>html syntax>>attributes>>ignore undefined attribute names来设置它。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12107504

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档