仅当$scope数据发生变化时更新DOM
Update DOM only when $scope data changes
在我的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
})
我注意到当点击"某些功能"按钮时,所有未选中的复选框都被选中了。我检查了DOM,发现当按钮被点击时,所有的复选框都被重新渲染了。
是否有一种方法来更新DOM只有当$作用域改变?注意:我不能使用单向绑定,因为$scope.settings。
我找到了错误的根源。它是由应用在远高于节点
相关文章:
- GoogleMapsForRails-只有在搜索结果发生变化时才通过ajax更新标记
- AngularJS视图没有'当ng模型值发生变化时,t更新
- ReactJS-这个状态中的数组在删除时被正确更新,但结果是't,直到以后的状态发生变化
- Ng重复不随数组变化而更新
- 如何在数量发生变化时自动更新合计
- 如何在 AngularJs 中的数据库发生变化时立即实现自动视图更新
- AngularJS:如何在指令范围的对象发生变化时更新与控制器作用域相关联的控制器作用域
- 当Firebase数据发生变化时,Google 图表不会更新
- 一旦 JavaScript 中任何 HTML 元素的值发生变化,就会更新画布
- 检索到的 $().position() 更新为 position: absolute 后发生了变化
- 添加标记并在纬度和经度变化时更新标记
- Angular ngClass 没有更新我的类,即使我的条件按预期发生了变化
- Angularjs 指令更新到 DOM 属性值的变化
- 当角度$scope发生变化时,不要更新 HTML
- Spotfire Java脚本将字段拆分为唯一值,并每30秒更新一次MapChart可视化,以反映值的变化
- 范围变量以角度更新,但变化不会反映给用户
- 可观测集合发生变化时更新Div
- 用ng变化更新角度模型
- 根据可观察到的变化更新相关属性
- 粘头不会根据我的变化更新