初学angularjs,关于service与controller的一个问题

做练习的时候碰到一个问题,service的数据只能在第一次调用的时候传给controller,继续调接口的话,controller数据没有更新。

这是我的service部分,把把参数什么的省略了,大家看着方便

angular.module('report.service', [])
    .factory('report', function ($http,$q,API) {
        var deferred = $q.defer();
        return {
            approval: function (data) {
                $http({
                    method: 'GET',
                    url: ”“,
                    params: {
                    }
                }).then(function (v) {
                    deferred.resolve(v);
                }, function (e) {
                    deferred.reject(e);
                });
                return deferred.promise;
            }
        }
    })

这是control部分,省去了多余的,我把下面的方法绑在一个按钮上,第一次执行的时候,能够获取到接口数据,继续执行的话,service数据更新,但controller里的数据没更新。这是什么原因?

$scope.search = function () {
    report.approval($scope.data).then(
        function (v) {
            console.log(v);
        },
        function () {
            console.log(arguments);
        }
    );
}


zk785
浏览 2066回答 1
1回答

晖晖晖晖哥

你把angularjs的ajax的cache设为false试试
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

AngularJS