在angularjs中设置双向数据绑定有两种方法。
一种方法是在隔离范围内定义双向数据绑定:
scope: {
myValue: '='
}
使用$scope.$watch
观看更改,并使用$scope.myValue = newVal
设置更改。
另一种方法是使用ng-model
。使用require: '?ngModel'
在您的应用中定义此内容。通过$scope.$watch($attributes.ngModel)
关注更改,并使用ngModel.$setViewValue
设置更改。
显然,这两者之间在方法名称等方面存在差异,但它们在精神上有何不同?我应该在哪里使用ng-model
,我应该在哪里使用双向数据绑定?
答案 0 :(得分:0)
使用原语,指令范围的属性获取父范围值的副本。对一个的更改不会影响另一个。
对于一个对象,父作用域和指令作用域都引用了同一个(一个)对象。两者中的变化都会影响同一个对象。