У меня есть ng-repeat, который выполняет итерацию объекта:
{
"id": 1,
"title": "Lorem Ipsum",
"base_text": "Lorem ispum",
"read_more_text": "lorem ipsum",
"show_details": false,
"button_label": "Read More",
"button_link": "",
"image": ""
},
Внутри ng-repeat в html есть кнопка, которую я хочу переключить на значение свойства show_details
.
Итак, у меня есть обработчик ng-click
:
<div class="hero-item" ng-repeat="h in dash.heroItems">
<div>
<h3>{{h.title}}</h3>
<p>{{h.base_text}}</p>
<p ng-if="h.show_details">{{h.read_more_text}}</p>
</div>
<div>
<button ng-click="dash.showHeroDetails(h.id)">{{h.button_label}}</button>
</div>
</div>
Поэтому я пропускание повторить пример ID
свойства. Но здесь я застрял, я не могу получить правильный синтаксис для переключения этого логического свойства.
У меня это до сих пор:
_this.showHeroDetails = function (item) {
_this.show_details = item;
};
что явно неправильно...
Из шаблона передайте объект.
<div>
<button ng-click="dash.showHeroDetails(h)">{{h.button_label}}</button>
</div>
В сценарии просто переключите значение.
_this.showHeroDetails = function (item) {
item.show_details = !item.show_details;
};
Вы можете просто обновить значение в ng-клике. Как это:
<button ng-click="h.show_details = !h.show_details">{{h.button_label}}</button>