AngularJS范围不更新

时间:2015-04-01 06:32:17

标签: javascript angularjs angularjs-scope

我正在使用一个调用 clickLoadMorePosts 的按钮,它有两个参数,重要的一个是 date ,此按钮触发下面的功能。

在回复中,我收到的javascript代码更新了按钮参数中的 date ,并且它正在更新,但当我再次点击该按钮时,范围即使在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");
      });
    };
}

1 个答案:

答案 0 :(得分:2)

您应该将响应数据分配给范围变量,在页面中,您应该像{$ scope.data一样使用。而不是通过追加来操纵DOM。