AngularJS范围没有更新

AngularJS scope no updating

本文关键字:更新 范围 AngularJS      更新时间:2023-09-26

我使用了一个调用clickLoadMorePosts的按钮,该按钮有两个参数,重要的一个是日期,该按钮触发下面的功能。

在响应中,我收到了更新按钮参数中的日期的javascript代码,它更新得很好,但当我再次单击该按钮时,范围是第一个日期,而不是我在响应中得到的日期,即使在html代码中更新了这个新日期(我查看了Google chrome检查器)。

我认为问题是因为$scope没有更新新内容,因此没有采用新日期。

我还读到我可能应该在某些地方使用$apply,但我遇到了一个错误,因为$http使用了$apply。

感谢您的帮助和洞察力!

HTML

<span id="loadMorePosts" ng-click="clickLoadMorePosts({{$idAccount}},'{{$date}}')"> Load more content </span>

JAVASCRIPT

function TodoCtrl($scope, $http ) {
    $scope.clickLoadMorePosts = function(idAccount, date) {
      $http.post("loadPersonalPosts", {'idAccount': idAccount, 'date': date} )
        .success(function (data) {
            $('#postLoader').append(data);
        }).error(function (data) {
            alert("error");
      });
    };
}

您应该将响应数据分配给范围变量,在页面中,您应该使用类似于{$scope.data.date}的方法,而不是通过追加操作DOM。