Извините заранее, я не уверен, что лучший способ описать это, или назвать этот вопрос. Мой код, надеюсь, объяснит, чего я пытаюсь достичь.
У меня есть массив списков, который зацикливается в представлении "ng-repeat". Каждый из них может быть обновлен индивидуально с помощью функции (вызванной нажатием кнопки для этого списка), но эта функция просто знает о текущем клике на листинге (она прошла в качестве параметра). Функция должна изменить значение этого списка в представлении.
например:
JS:
.controller('searchCtrl', function($scope, $state, $stateParams, $location, $ionicPopup, Service) {
var self = this;
self.listings = response.data.items.hits.hits; //Array of listings
....
self.watchlist = function(listing) { //Update individual listing value
....
if (listing.in_watchlist) {
listing.in_watchlist = 0; //want this to update the actual matching listing in 'self.listings'
} else {
listing.in_watchlist = 1; //want this to update the actual matching listing in 'self.listings'
}
....
HTML:
<ion-item ng-repeat="listing in search.listings">
In watchlist: {{listing.in_watchlist}}<br/>
<button class="button button-block button-balanced ion-star" ng-click="search.watchlist(listing);"></button>
</ion-item>
Кажется, что проблема заключается в выражении внутри директивы ng-click
.
Попробуйте удалить фигурные фигурные скобки в вашем ng-click
: ng-click="search.watchlist(listing);"
Вот скрипка с рабочим примером того, что вы пробовали:
{{
&}}
в HTML. Это должен бытьsearch.watchlist(listing)