【发布时间】:2016-09-22 10:22:59
【问题描述】:
这是一个相对简单的问题,但我无法弄清楚为什么这不起作用。
所以我在 HTML 中有 ng-if 语句,我在其中检查条件是否为真。如:
<div class="new-asset" data-ng-if="$root.questionData.question_type_id != '1' || $root.questionData.question_type_id != '8'">
但由于某种原因,这不起作用。我也试过了:
<div class="new-asset" data-ng-if="($root.questionData.question_type_id != '1' || $root.questionData.question_type_id != '8')">
这没有任何影响...我正在阅读并试图找到解决方案,有人建议将条件放在控制器中,这也会提高性能(不是 100% 肯定会),如:
$scope.addNewAssetIf = $root.questionData.question_type_id != '1' || $root.questionData.question_type_id != '8';
然后在 html 中将其引用为:
<div class="new-asset" data-ng-if="addNewAssetIf">
但由于异步加载和依赖关系,我不能使用这种方法。我需要以某种方式完成这项工作,我没有收到任何错误或任何东西,即使 question_type_id 是 1 我仍然会显示 .net-asset div。如果我删除 OR 语句并且只有 1 个条件它有效:
<div class="new-asset" data-ng-if="$root.questionData.question_type_id != '1' || $root.questionData.question_type_id != '8'">
感谢任何帮助。
谢谢
【问题讨论】:
-
在我看来
question_type_id != '1' || question_type_id != '8'总是返回true -
您是否检查过它是否将数字作为字符串而不是实际数字返回?
标签: javascript angularjs angularjs-directive angular-ng-if