2016-06-22 47 views
1

我有一個角度應用程序,使用左側菜單和顯示/隱藏菜單欄,左側菜單上顯示/隱藏的操作是「數據操作」。我使用的智能管理和代碼如下

<span class="minifyme" data-action="minifyMenu"> <i class="fa fa-arrow-circle-left hit"></i> </span> 

當數據動作被激發,身體部分類別改變或者被appeded一個新的類。

我的要求是對班級的變化做些事情。我有一個關於身體的指令來監視課程。

當加載頁面時,指令代碼肯定會被調用,但是當類改變時,即執行數據操作時,它不會被調用。

(function() { 
var app = angular.module("myApp"); 

var myDirective = [function() { 
    return { 
     restrict: "A", 
     link: function (scope, element, attrs) { 

      initialize(); 

      scope.$watch(function() { 
      return element.attr('class'); 
     }, function (newValue) { 
      if (element.hasClass('test')) { 
       console.log('has class.'); 
      } else { 
       console.log('classremoved.'); 
      } 
     }); 

      function initialize() { 

      }; 
     } 
    }; 
}]; 

app.directive('myDirective', myDirective); 

}()); 

我該如何解決這個問題。

+0

你可以發佈你的完整代碼給出詳細的答案 –

回答

1

您需要在$ apply()方法中執行此操作,因爲data-action超出了角度上下文。

+0

$ apply()在哪裏? – Immortal

+0

發表您的完整代碼給出詳細的答案 –

+0

完成後,我編輯了這個問題。 – Immortal

相關問題