动态显示/隐藏指令

时间:2015-12-10 09:17:24

标签: angularjs angularjs-directive

我正在尝试实现一些指令,它将基于其他Service中一个变量的值。这是我的代码:

        if (this.SomeService.variable.condition){
            element.show();
        } else {
            element.hide();
        };

但是,当页面被引导时,它只被调用一次。如何使变量,元素显示/隐藏?没有观察者,有没有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

您可以使用ng-show / ng-hide作为angularjs构造,用于隐藏或显示特定的HTML片段。

例如:

<div ng-show="true">HELLO I AM THE FIRST DIV</div>
<div ng-hide="true">HELLO I AM THE SECOND DIV</div>

将返回类似

的内容
  

你好我是第一个DIV

在ng-show中你可以输入watherver类型的变量,这样如果你的javascript是这样的:

angular.module('mymodule').controller('MyCtrl',[function(){
    var self = this;
    self.isVisible = true;
}]);

您可以在代码中使用该变量:

<div class="container" ng-controller="MyCtrl as c">
    <div ng-show="c.isVisible">HELLO I AM THE FIRST DIV</div>
    <div ng-hide="c.isVisible">HELLO I AM THE SECOND DIV</div>
</div>

结果是一样的