在我的angular js应用程序中,我注意到DOM会在我调用函数时更新。即使函数没有更改任何$ scope变量,也会发生这种情况。
我正在使用ng-repeat创建一组复选框,如下所示。
HTML
<a ng-click="someFunction()" >Some Function</a>
<form action="/settings/save">
<label>
<input ng-repeat="option in settings.active" name="options[]" value="{{option}}" checked="checked" />
{{option}}
</label>
<input type="submit" value="Save" />
</form>
JS
angular.module("myapp")
.controller("settingsCtrl", function($scope, $loadServ){
//$loadServ is a service for fetching data from the server
$loadServ("/settings/load")
.success(function(response){$scope.settings = response.data});
$scope.someVariable = "something";
$scope.someFunction = function(){
//There's nothing here yet
}
//More code follows
})
我注意到所有未选中的复选框都会在&#34; Some Function&#34;单击按钮。我检查了DOM并意识到单击按钮时所有复选框都被重新渲染。
有没有办法只在$ scope更改时更新DOM? 注意:我不能使用单向绑定,因为$ scope.settings.active可以被其他函数更改
答案 0 :(得分:0)
我找到了错误的来源。它是由远远超过节点的过滤器引起的