AngularJS - 通过函数以编程方式更新“self”值

时间:2015-08-20 06:15:01

标签: javascript angularjs

提前抱歉,我不确定描述此问题的最佳方式,或标题为此问题。我的代码应该有希望解释我想要实现的目标

我有一系列列表在视图'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>

1 个答案:

答案 0 :(得分:1)

问题似乎是$sql1= "SELECT * FROM soal where idSoal LIKE '-->HERE<--' "; 指令内的表达式。

尝试删除ng-click中的大括号:ng-click

这是一个Fiddle,其中包含您尝试过的示例: