旗帜的状态没有反映在HTML页面中

时间:2014-02-12 05:54:35

标签: javascript html angularjs angularjs-scope

我有一个HTML页面,链接到AngularJS中的控制器。在控制器中,我有一个标志showTree=true。我使用<h3>{{showTree}}</h3>

在我的HTML页面中显示此标记的状态

当我设置showTree=false时,它会反映在HTML页面中,但当我将其更改回showTree=true时,更改不会反映在HTML页面中。

我使用

检查了旗帜的状态
 $scope.$watch('showTree',function(){
            alert("changed"+$scope.showTree);
            console.log($scope.showTree);
        });

结果显示价值正在变化。但它仍然没有反映在HTML页面中。

我尝试使用$scope.$apply();它无效。

有什么方法可以解决这个问题吗?

3 个答案:

答案 0 :(得分:3)

我认为这是scope问题。您可能正在使用ng-include创建新范围,因此当您更改$scope.showTree的值时,它会更改值,但会在子范围内创建新的showTree,并且您希望更改父范围。希望它有所帮助。

答案 1 :(得分:1)

这对我有用。 I created a plunkr它对我有用。你能让这个傻瓜失败吗?

答案 2 :(得分:1)

尝试使用观察。你刚刚观看了这个领域并写了一个日志。

创造了一个plunker。看看它是否有帮助。

http://plnkr.co/edit/DmQT0JD7FsTOupunLtuh?p=preview