我有一个页面可以动态更新我的模型
<div ng-repeat="action in actions">
<div ng-show="action.showMyDiv">Hello </div>
<div>
当我从当前页面中的操作动态更新我的模型时
$scope.actions[id]['showMyDiv']= true,
div 不显示。拜托,你能帮帮我吗?
提前致谢 。
如果您手动更新该值,您可以将其包装在 $scope.$apply() 中:
$scope.$apply(function(){
$scope.actions[id]['showMyDiv']= true
})
编辑:
$scope.$apply 2 美分:角度计算绑定的方式是在每次渲染时进行脏检查(如果您四处搜索,则有大量关于该过程的资源)。当您使用角度默认方法(例如,ng-click)时,会设置一个标志来警告应用程序页面需要“刷新”,并且您会看到更改发生。
如果您手动更改任何内容,则需要警告应用程序需要刷新,您可以使用 $apply 来完成。请参阅此示例以进行说明。请注意,两个更改是“手动”进行的,在 2 秒和 4 秒,使用 window.timeout (您不应该使用它,而是使用 $timeout 服务),但只有在第二个更改传播到视图之后.