我有一个HTML页面,链接到AngularJS中的控制器。在控制器中,我有一个标志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();
它无效。
有什么方法可以解决这个问题吗?
答案 0 :(得分:3)
我认为这是scope
问题。您可能正在使用ng-include创建新范围,因此当您更改$scope.showTree
的值时,它会更改值,但会在子范围内创建新的showTree
,并且您希望更改父范围。希望它有所帮助。
答案 1 :(得分:1)
这对我有用。 I created a plunkr它对我有用。你能让这个傻瓜失败吗?
答案 2 :(得分:1)
尝试使用观察。你刚刚观看了这个领域并写了一个日志。
创造了一个plunker。看看它是否有帮助。