ng-model和标准双向数据绑定之间的区别是什么?

时间:2014-06-19 23:13:01

标签: javascript angularjs angularjs-scope

在angularjs中设置双向数据绑定有两种方法。

双向数据绑定

一种方法是在隔离范围内定义双向数据绑定:

scope: {
     myValue: '='
}

使用$scope.$watch观看更改,并使用$scope.myValue = newVal设置更改。

NG-模型

另一种方法是使用ng-model。使用require: '?ngModel'在您的应用中定义此内容。通过$scope.$watch($attributes.ngModel)关注更改,并使用ngModel.$setViewValue设置更改。

显然,这两者之间在方法名称等方面存在差异,但它们在精神上有何不同?我应该在哪里使用ng-model,我应该在哪里使用双向数据绑定?

1 个答案:

答案 0 :(得分:0)

使用原语,指令范围的属性获取父范围值的副本。对一个的更改不会影响另一个。

对于一个对象,父作用域和指令作用域都引用了同一个(一个)对象。两者中的变化都会影响同一个对象。