ng-init和ng-bind有什么区别?

时间:2016-06-30 11:05:41

标签: html angularjs

以下是使用ng-init的代码:

<!DOCTYPE html>
<html>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<body>

<div ng-app="" ng-init="names=['Jani','Hege','Kai']">
  <p>Looping with ng-repeat:</p>
  <ul>
    <li ng-repeat="x in names">
      {{ x }}
    </li>
  </ul>
</div>

</body>
</html>

以下是使用ng-bind的代码:

<!DOCTYPE html>
<html>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<body>

<div ng-app="" ng-bind="names=['Jani','Hege','Kai']">
  <p>Looping with ng-repeat:</p>
  <ul>
    <li ng-repeat="x in names">
      {{ x }}
    </li>
  </ul>
</div>

</body>
</html>

两者都提供相同的输出,格式不同。

这到底发生了什么?

请帮忙!

2 个答案:

答案 0 :(得分:2)

ng-init的目的是在模板中初始化一个属性。

ng-bind的目的是用指定表达式的值替换指定HTML元素的文本内容。

但是你应该在控制器中初始化变量并使用{{variable}}并且不要使用ng-init或ng-bind。

答案 1 :(得分:1)

ng-bindng-init的用例非常不同。

ng-bind用于将内部文本分配给元素,例如:

<div ng-bind="'hi'"><div>

结果:

<div>hi</div>

ng-init指令执行一次,主要用于声明变量。因此,在您的情况下,您将使用ng-init