我使用$ http.get api從數據庫中檢索內容,並使用ng-repeat
顯示每條記錄。對於每個記錄我有一個like and comment button.
在點擊像按鈕,即時插入一個記錄使用$ http.post,我必須change the name of button to "Liked"
。問題是 - 點擊任何一個記錄像按鈕,所有其他記錄,如按鈕名稱更改爲喜歡包括點擊按鈕。單擊後動態更改按鈕名稱
<div ng-repeat="dat in details | filter : { product_name : textname} as results">
<p style="color:#4C97C8;" class="lead"><strong>{{dat.summary}}</strong></p>
<ul>
<li><b>Product:</b><span> {{dat.product_name}}</span></li>
<li><b>Product Manager:</b><span> {{dat.first_name}} {{dat.last_name}}</span></li>
<li><b>Description:</b><span> {{dat.description}}</span></li>
</ul>
<button style="background-color:#4C97C8;color:white;height:30px" class="btn buttonlike" ng-click="likebtn(dat.id,loginname)"><span class="glyphicon glyphicon-hand-right"></span><strong> {{ likebtnname }}</strong></button>
<button style="background-color:#4C97C8;color:white;height:30px" class="btn" ng-disabled="comment" ng-click="comment=true"><span class="glyphicon glyphicon-comment"></span><strong> Comment</strong></button>
<div class="input-group " ng-show="comment">
<input type="text" id="commentarea" name="commentarea" class="form-control" placeholder="comment" aria-describedby="basic-addon2" ng-model="takecomment">
<span class="input-group-addon" id="basic-addon2" ng-click="takecomment=mycomment(dat.id,takecomment)"><span class="glyphicon glyphicon-send"></span></span>
</div>
</div>
likebtn()腳本/控制器內部的方法是
$scope.likebtnname="Like";
$scope.likebtn = function(idvalue,namevalue) {
var likereque = {
method: 'POST',
url: "https://url/Likes",
headers: {
"Content-Type": "application/json"
},
data: {
"platform": {
"record": { "idea_record": idvalue,
"liker": $scope.loginname
}
}
}
}
$http(likereque).then(function(){
alert("Liked Successfully");
$scope.likebtnname="Liked"; },
function(){alert("try again");});
}
我怎樣才能改變只是點擊按鈕的名稱?
爲什麼你在這裏使用了dat reference {{dat.likebtnname ||'Like'}}。對象 –
沒有字段名稱likebtnname Didnt工作... –
我更新了答案:在'$ parent.likebtn(dat.id,loginname,dat)添加了'$ parent'' –