【发布时间】:2014-02-12 15:45:54
【问题描述】:
我有一个链接到 AngularJS 中的控制器的 HTML 页面。在控制器中,我有一个标志 showTree=true 。我正在使用 <h3>{{showTree}}</h3>
当我设置 showTree=false 时,它会反映在 HTML 页面中,但是当我将其更改回 showTree=true 时,更改不会反映在 HTML 页面中。
我使用
检查了标志的状态 $scope.$watch('showTree',function(){
alert("changed"+$scope.showTree);
console.log($scope.showTree);
});
结果显示该值正在发生变化。但它仍然没有反映在 HTML 页面中。
我尝试使用$scope.$apply();,但没有用。
有没有办法解决这个问题?
【问题讨论】:
-
请用代码创建一个 JSFiddle。没有足够的信息来诊断问题。
-
从哪里更改 showTree 的值?
-
@Jay 来自另一个 html 页面。您认为对两个不同的 html 页面使用相同的控制器可能会导致问题吗?
-
那么,你有两个路由设置来使用同一个控制器?这就是我的理解吗?如果是这样,那我可以保证是问题所在。
-
是的,如果您使用的是 ng-include,那么它可能会产生问题,因为它会创建新的范围。
标签: javascript html angularjs angularjs-scope