2014-02-12 56 views
0

我有一個鏈接到AngularJS中的控制器的HTML頁面。在控制器中,我有一個標誌showTree=true。我使用<h3>{{showTree}}</h3>標誌的狀態不會反映在HTML頁面中

當我設置showTree=false它就會反映在HTML頁面顯示該標誌的狀態在我的HTML頁面,但是當我將其改回showTree=true變化是沒有得到反映在HTML頁面。

我檢查使用

$scope.$watch('showTree',function(){ 
      alert("changed"+$scope.showTree); 
      console.log($scope.showTree); 
     }); 

結果表明,該值得到改變標誌的狀態。但是它仍然沒有反映在HTML頁面中。

我試過使用$scope.$apply();它沒有工作。

有什麼辦法解決這個問題嗎?

+1

請用代碼創建一個JSFiddle。沒有足夠的信息來診斷問題。 – squid314

+2

從哪裏改變showTree的價值? –

+0

@Jay從另一個html頁面。你認爲使用相同的控制器爲兩個不同的HTML頁面可能會導致問題? –

回答

3

我認爲它scope問題。您可能正在使用ng-include創建新的作用域,因此當您更改$scope.showTree的值時,它會更改值,但會在子作用域中創建新的showTree,並且您期望在父作用域中進行更改。希望能幫助到你。