ng-bind 与 表达式
ng-bind
是实现作用域到视图的单向数据绑定;表达式用{{expression}}
表示。
它们的区别是:
ng-bind
绑定的是作用域中的 js 变量或引用(对象),表达式中 expression 是 JS 表达式.- 当需要进行运算处理或使用
filter
对输出内容进行处理时必须使用表达式. ng-bind
指令在 AngularJS 没有加载完毕时不会解析执行,所以有网络问题时使用表达式体验会不好,推荐使用ng-bind
指令.
作用域
angularJS 的作用域主要功能是存放数据模型,在控制器中可以修改和新增作用域中的数据模型,然后在视图中通过表达式展示数据模型。
angularJS 中的作用域对象与普通的 JS 对象一样,不同的是我们不需要手动去构造作用域对象,当 HTML 页面中出现 ng-app
和 ng-controller
指令时,Angular 框架就会自动创建作用域对象,我们只需要将其注入即可。
每个 angularJS 应用中至少会有一个名称为 $rootScope
的根作用域。当 ng-app
指令出现在任何 HTML 标签中,用于启动 AngularJS 框架,当它启动时会自动创建一个根作用域对象 $rootScope
, 当使用 ng-controller
指令实例化控制器对象时,就会创建一个子作用域 $scope
, 默认情况下子作用域会继承根作用域下的所有属性。