我尝试使用 ng-if,但 angular 没有编译他。查看测试代码:
<ul class="tmmenu-admin-tabs-builder-panel-answer">
<li class="tmmenu-admin-tabs-builder-panel-portlet" ng-repeat="answer in answers">
<div>
<span ng-repeat="question in questions">
<label ng-repeat="answer in question.answers">
<input type="checkbox">{{question.id}}.{{answer.id+1}}
<span ng-if="test()">ddd</span>
</label>
</span>
</div>
<textarea>{{answer.text}}</textarea>
</li>
</ul>
和功能测试:
$scope.test = function(){
console.log('d');
return false;
}
如果运行此页面,我们可以在“Li”中看到“ddd”,尽管测试返回 false。
下一步,我替换为 "ng-if" "ng-show" :
<ul class="tmmenu-admin-tabs-builder-panel-answer">
...
<span ng-show="test()">ddd</span>
...
</ul>
它的工作,“ddd”隐藏。为什么 ng-if 不能在工作 ng-show 的地方工作?