angular ng-click ng-show 停止工作

angular ng-click ng-show stopped working

我有这个小代码片段:

<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 时,它会变得可见。 我通过设置 expand 标志 true 或 false 来切换。

为什么这段代码不起作用??

ng-if 使用子作用域,这就是为什么你不能 link 你的原始变量(扩展),所以如果你可以将扩展更改为 vm.expand 并且它将起作用...

不需要你的 ng-show 你已经有了 ng-if...

<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