0

我正在尝试 angular js 文档。我在http://docs.angularjs.org/api/ng.directive:ngInit中找到了这个 ng-init

据说有两种方法可以做 ng-init 。

  1. ng-init="{表达式}"
  2. class="ng-init:{表达式}"

有两种做同一件事的方式背后有什么理由吗?

我试过这是 js fiddle as

1---->method 1 http://jsfiddle.net/3ghXP/

2---->method 2 http://jsfiddle.net/2Nyaf/1/

但是我在生成的 html 中发现了一个差异。

在方法 1 生成的 html 中有 class="ng-scope"

在方法 1 生成的 html 中,只有一个指令 ng-scope

但是这两者有什么区别呢?我应该在哪里使用它们。

4

1 回答 1

2

在 angularjs 中创建的每个指令都可以应用于元素、属性、类或注释 (EACM) 级别,具体取决于它是否已配置。该ng-init指令已配置为可用作属性或类,因此这两种语法。有关了解这些模式的指令,请参阅文档。

至于为什么需要它们。我相信其中一些是支持旧浏览器(特别是 IE)所必需的,并且可能为了方便起见而休息。我建议您始终坚持基于属性的ng-init语法。

于 2013-11-06T06:26:22.540 回答