2017-07-28 59 views
-1

我使用ocLazyLoad加載狀態。該狀態的控制器在開始時具有該代碼。ng-show/ng-hide不能用於控制器的延遲加載

$scope.test = {show: false}; 

,並在HTML視圖我有這個

<button class="btn" ng-show="test.show">Hey There</button> 

現在,當我的看法是加載的按鈕不隱藏。 如果我登錄{{test.show「}}它顯示假的。但是,這並不適用於按鈕。

我想是這樣的,用於執行控制器,當視圖被加載

$scope.$watch('$viewContentLoaded', 
      function() { 
       $timeout(function() { 

       },0); 
      }); 

但沒有什麼是工作。

ng-show/ng-hide工作不NG-如果完美。我無法理解爲什麼NG出現不工作,ng-if的作品。我需要使用ng-show/ng-hide

+1

我可以用編碼來簡單介紹一下它嗎? – Indhu

+0

ng-if完美地工作,因爲它添加和刪除DOM元素dynamicaaly。在這個過程中DOM被重新編譯。但是,ng-show/hide只是將dispaly屬性設置爲none,Dom不會重新編譯。 – Ved

+0

https://stackoverflow.com/questions/19177732/what-is-the-difference-between-ng-if-and-ng-show-ng-hide – Dixit

回答

-1

試試吧。

<button class="btn" ng-hide="!test.show">Hey There</button>

+1

這不起作用,它也沒有任何意義,因爲它幾乎與使用ng-show直接相同。 – Achilles