2014-10-01 39 views
1

欲顯示/隱藏使用元素ng-ifAngularJS - NG-如果 - 顯示當主體具有類

例如我想展示一個元素,如果身體有特定的類

我試過以下,但沒有成功 - 這是甚至有效的表達?

<div ng-if="document.querySelector('body').className.indexOf('bodyHasThisClass') >= 0"></div

任何建議非常讚賞。這裏是一個普拉克例如:http://plnkr.co/edit/kzXXg0sne8nyQZuufao7?p=preview


從AngularJS文檔: https://docs.angularjs.org/guide/expression

沒有獲得像窗口,文檔或位置全局變量角度表達式。這個限制是有意的。它可以防止意外進入全球國家 - 這是微妙的錯誤的常見來源。

回答

3

如何添加控制器到你的指令

app.directive('wrapperDirective', function() { 
return { 
    restrict: 'A', 
    templateUrl: 'wrapper-directive.html', 
    replace: true, 
    transclude: true, 
    controller: function($scope){ 
     $scope.a = (document.querySelector('body').className.indexOf('bodyHasThisClass')>= 0)? true : false; 
     $scope.b = (document.querySelector('body').className.indexOf('noSuchClass')===-1)? true:false; 

    } 
}; 
}); 

而且在模板:

<div ng-if="a==true"> 
    visible if body has class bodyHasThisClass 
</div> 
<div ng-if="b==false"> 
    this should be hidden 
</div> 
+0

我在想添加控制器?那麼如何在不同的指令/控制器之間共享此控制器? – Iladarsda 2014-10-01 09:43:54