有两种方法可以做ng-init吗?

时间:2013-11-06 05:39:46

标签: angularjs angularjs-directive

我正在尝试使用角度js文档。我在http://docs.angularjs.org/api/ng.directive:ngInit

中找到了这个ng-init

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

  1. ng-init =“{expression}”
  2. 类= “NG-INIT:{表达}”
  3. 有两种方法可以做同样的事情。

    我试过这是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

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

1 个答案:

答案 0 :(得分:2)

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

至于他们为何需要。我相信其中一些是支持旧浏览器(specially IE)所必需的,为方便起见,可能还需要休息。我建议你始终坚持基于ng-init语法的属性。