2017-05-26 57 views
0

我正在通過調用函數更改控制器中的變量。變量 isSameTaxonomyElements與UI中的元素綁定。但它正在UI上反映出來。控制器中的變量不會反映在用戶界面上 - AngularJS

$scope.validateAddElementButton = function (name, label) {   
      for (var i = 0; i < $scope.elements.length; i++) {    
       if (name === $scope.elements[i].name || label === $scope.elements[i].label) { 
        $scope.isSameTaxonomyElements = true;  
        break; 
       } else { 
        $scope.isSameTaxonomyElements = false;     
       }    
      }   
     } 

這是我的用戶界面。

<div ng-show="isSameTaxonomyElements"> 
       <div class="col-lg-6 float-left" > 
        <p class="alert-message">No two elements should have same label or name.</p> 
       </div> 
       </div> 

我也嘗試添加$超時,$應用等,但仍然無法正常工作。

+0

你能發表更多的代碼嗎? – anoop

回答

0

基本上,JavaScript變量只取最後一個賦值。所以根據你的代碼,在for循環中,如果條件滿足,isSameTaxonomyElements將是true並且你的循環中斷(即沒有更多循環);否則isSameTaxonomyElements將是false,並且如果循環不提前退出,最終isSameTaxonomyElements將爲false

並檢查象控制器名稱,應用名稱等

0

你的變量在控制範圍基本的東西。添加新的html頁面並添加新的控制器,然後創建一個新的路由。在添加的新控制器中測試您的功能。 秒:檢查舊控制器中的作用域ID。我認爲你的html不在控制器範圍內。

相關問題