#angularjs #angularjs-ng-click #angularjs-ng-show
#angularjs #angularjs-ng-click #angularjs-ng-show
Вопрос:
У меня есть этот небольшой фрагмент кода:
<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>
виртуальная машина.данные.Описание и виртуальные данные.Длинное описание содержит значения.
Длинное описание скрыто, но когда я нажимаю на Описание, оно становится видимым. Я переключаюсь таким образом, устанавливая флаг расширения true или false.
Почему этот код не работает??
Ответ №1:
ng-if использует дочернюю область, поэтому вы не можете связать свою примитивную переменную (expand), поэтому, если вы можете просто изменить expand на 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 amp;amp; vm.expand">{{vm.data.LongDescription}}</li>
и здесь работает PLUNKER