Javascript 将对象传递给函数时角度范围不更新

Javascript 将对象传递给函数时角度范围不更新,javascript,angularjs,ionic-framework,angularjs-scope,Javascript,Angularjs,Ionic Framework,Angularjs Scope,我有一个控制器函数,在ng repeat中双击一个项目时调用该函数: $scope.likeUpdate = function(update) { $http.post( $rootScope.apiURL + 'likeupdate', { update_id : update.data.id, user_id : $rootScope.currentUser.id }).success(function(result, response){

我有一个控制器函数,在ng repeat中双击一个项目时调用该函数:

$scope.likeUpdate = function(update) {
    $http.post( $rootScope.apiURL + 'likeupdate', {
        update_id : update.data.id,
        user_id : $rootScope.currentUser.id
    }).success(function(result, response){
        update.data.does_like = result[0][0].does_like;
        console.log(result[0][0].does_like);
    });
}
<div ng-repeat="update in updates" class="custom-card">
    <div ng-show="{{update.image}}" class="image">
        <img on-double-tap="likeUpdate({{update.data.id}})" class="full-image" ng-src="https://s3-eu-west-1.amazonaws.com/images/{{update.image.name}}" imageonload>
    </div>
    {{ update.data.does_like }}
</div>
对我来说,这应该在我的Ionic应用程序上更改,并在屏幕上更新“Dos_like”值

然而,事实并非如此

以下是我的建议,请重复:

$scope.likeUpdate = function(update) {
    $http.post( $rootScope.apiURL + 'likeupdate', {
        update_id : update.data.id,
        user_id : $rootScope.currentUser.id
    }).success(function(result, response){
        update.data.does_like = result[0][0].does_like;
        console.log(result[0][0].does_like);
    });
}
<div ng-repeat="update in updates" class="custom-card">
    <div ng-show="{{update.image}}" class="image">
        <img on-double-tap="likeUpdate({{update.data.id}})" class="full-image" ng-src="https://s3-eu-west-1.amazonaws.com/images/{{update.image.name}}" imageonload>
    </div>
    {{ update.data.does_like }}
</div>

{{update.data.does_like}
在页面加载时,update.data.doe_like正确显示我需要的内容,页面刷新后将显示它应该显示的内容。但在我的代码中,它不是在成功回调上实时更新的

控制台日志显示正确的输出

另外,我知道做的结果[0][0]不太好,很快就会进行结构方面的工作

update is a local variable to the function.
试一试

但是你的结构看起来不太好

试一试


但是你的结构看起来不对劲。

为了让
likeUpdate
更改
数据。你是否喜欢所讨论的
更新
属性,你应该将
更新
传递给它,而不是
{update.data.id}
解析为的任何内容,即

<img on-double-tap="likeUpdate(update)" ...

为了让
likeUpdate
更改所讨论的
update
data.dou like
属性,您应该将
update
传递给它,而不是
{{update.data.id}
解析为的任何内容,即

<img on-double-tap="likeUpdate(update)" ...

您使用的是什么版本的AngularJS?具体是什么版本?最近,
$http
承诺上的
success
回调已被弃用。我认为您只需将双击时的
表达式更改为
likeUpdate(update)
。我不确定您是如何通过
{{update.data.id}}
传递其他错误的,您使用的是什么版本的AngularJS?具体是什么版本?最近,
$http
承诺上的
success
回调已被弃用。我认为您只需将双击时的
表达式更改为
likeUpdate(update)
。我不确定你是如何通过
{{update.data.id}}
而没有收到其他错误的。谢谢,由于某种原因,我的屏幕上仍然没有更新,还有什么其他原因吗?即使我做了更新='test'什么都没发生谢谢,还是因为某种原因没有在我的屏幕上更新,还有什么可能?即使我执行update='test',也不会发生任何事情