我遇到了$scope.searchVal
变量更新的问题,但是如果我将其分配到对象中,它似乎根本不会更新。
见下文:
<div ng-controller="MyCtrl">
<div>{{searchVal}}</div>
<div>{{searchFilter}}</div>
<div>
<input ng-model="searchVal"/>
</div>
</div>
请参阅JSFiddle
如果我输入输入,div
的第一个searchVal
值会正确更新,但searchFilter
包含$scope.searchVal
的{{1}}对象值会更新设置为''
的原始值,并且不会相应更新。
我通过调用函数考虑(并尝试)每次需要时更新整个对象,但这对我来说似乎真的很烦人。有一个简单的方法来完成这项工作吗?我错过了什么吗?
答案 0 :(得分:0)
你所拥有的是$watch
范围内的值,如:
$scope.$watch('searchVal',function(newVal, oldVal){
$scope.searchFilter.search = newVal;
});
答案 1 :(得分:0)
它似乎并不像看起来那样直截了当,因为角度无法知道你是否想要动态绑定属性。
您可以使用$ watch服务实现您想要做的事情。关注searchVal&amp;用它来检测变化&amp;相应地更新对象属性。
答案 2 :(得分:-1)
请放$ watch。它总是会观察变量的值变化
$scope.$watch('searchVal',function(newVal, oldVal){
$scope.searchFilter.search = newVal;
});