我有这个小代码片段:
<li ng-if="vm.data.Description" ng-click="expand=!expand">{{vm.data.Description}}</li>
<li ng-if="vm.data.LongDescription" ng-show="expand">{{vm.data.LongDescription}}</li>
vm.data.Description和vm.data.LongDescription包含值。
隐藏了LongDescription,但是当我点击Description时,它变得可见。 我通过将展开标志设置为true或false来进行此类切换。
为什么此代码无效?
答案 0 :(得分:0)
ng-if使用子范围,这就是为什么你不能链接你的原始变量(展开),所以如果你只需要将expand更改为vm.expand就可以了......
并且你不需要你的ng-show你已经有了ng-if for it ...
<li ng-if="vm.data.Description" ng-click="vm.expand=!vm.expand">{{vm.data.Description}}</li>
<li ng-if="vm.data.LongDescription && vm.expand">{{vm.data.LongDescription}}</li>
这里正在运作PLUNKER