使用angular替换属性

时间:2017-02-13 19:11:41

标签: jquery angularjs ajax

我是棱角分明的新人。

我的问题是, 如果满足'ng-if',是否可以用'ng-show'替换'ng-hide'?

我想根据收到的数据隐藏并显示某个div。它是'true'或'false',如果'false',div应该被隐藏,否则它应该显示。

2 个答案:

答案 0 :(得分:1)

可以使用boolean logic

完成
<div ng-show="cond1 && cond2">
    One data set
</div>
<div ng-show="cond1 && !cond2">
    Other data set
</div>

如果cond1 == false,两个数据集都将被隐藏。如果true,则会显示其中一个。

或使用De Morgan's Theorem

<div ng-show="cond1 && cond2">
    One data set
</div>
<div ng-hide="!cond1 || cond2">
    Other data set
</div>

答案 1 :(得分:0)

我不清楚你需要实现什么,但也许它会有用:

function Controller (SomeService) {
    var vm = this;
    vm.firstVisible = false;
    vm.secondVisible = false;
    SomeService.getData().then(data) {
        // firstValidation() function returns true if first way of display is matching
        if (firstValidation(data)) {
            vm.firstVisible = true;
        }

        // secondValidation() function returns true if second way of display is matching
        if (secondValidation(data)) {
            vm.secondVisible = true;
        }
    }
}

然后在HTML中:

<div>
    <div ng-if="vm.firstVisible">
        First way of displaying data
    </div>
    <div ng-if="vm.secondVisible">
        Second way of displaying data
    </div>
</div>

(故意我不使用$onInit或其他东西来使事情变得复杂)