Angularjs,使用 data-ng-controller 和 ng-controller [重复]

Posted

技术标签:

【中文标题】Angularjs,使用 data-ng-controller 和 ng-controller [重复]【英文标题】:Angularjs, using data-ng-controller and ng-controller [duplicate] 【发布时间】:2013-11-03 06:40:10 【问题描述】:

有时我看到data-ng-controller,但更多时候看到ng-controller

ng-controller 我已经用过,这似乎很清楚。但是data-ng-controller.. 有什么用?

它们之间有什么区别,在哪里使用什么?

【问题讨论】:

【参考方案1】:

除了验证和浏览器兼容性之外没有区别。

Angular js 不能在 IE8 中工作,除非数据存在

[更新]

以上适用于版本 1.0.* 和 1.2.* 1.3.* 不支持 ie8 所以不需要数据-

【讨论】:

SharePoint 会去掉 ng 参数,因此仍需要 data-ng-*。【参考方案2】:

Angularjs 使用规范化过程来匹配指令名称/属性。

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

部分匹配指令:

归一化过程如下:

从元素/属性的前面去除 x- 和 data-。 将 :、- 或 _ 分隔的名称转换为 camelCase。

【讨论】:

在文档中再往下一点:最佳实践:首选使用破折号分隔的格式(例如,ng-bind 用于 ngBind)。如果您想使用 html 验证工具,您可以改用带有数据前缀的版本(例如,用于 ngBind 的 data-ng-bind)。【参考方案3】:

两者之间没有区别,除了前缀data-将允许HTML通过验证。

【讨论】:

【参考方案4】:

您可能还会看到 x-ng-controller。 data- 和 x- 都符合 html5 自定义属性命名。

【讨论】:

以上是关于Angularjs,使用 data-ng-controller 和 ng-controller [重复]的主要内容,如果未能解决你的问题,请参考以下文章

angularjs插件怎么使用

AngularJS学习之旅—AngularJS 服务

使用 webpack 导入 angularjs 模块

AngularJS

angularjs学习之八(angularjs中isolate scope的使用)

使用AngularJS创建应用的5个框架