簡體   English   中英

從Angular JS中的模塊更新范圍變量

[英]Update a scope variable from a module in Angular JS

我有以下模塊:

var mod;

mod = angular.module('ajax-interceptor', []);

mod.config(function($httpProvider) {

    $httpProvider.interceptors.push(["$q", function($q, dependency1, dependency2) {
        return {
            'request': function(config) {
                //want to update a scope variable when a request is placed
                return config;
            },

            'requestError': function(rejection) {
                return $q.reject(rejection);
            },

            'response': function(response) {
                return response;
            },

            'responseError': function(rejection) {
                return $q.reject(rejection);
            }
        };
    }]);
});

每當發出請求時,我都想更新范圍變量。 我怎樣才能做到這一點? 我無法在配置塊中注入$scope 我將使用此變量來跟蹤用戶的活動,就像一個不要求10分鍾的用戶將被強制注銷。

您可以將工廠添加到模塊中,並在其中跟蹤用戶活動:

mod.factory("factoryName", [
    function(){
        var factory = {};
        factory.track = function(userActivity){
            // Save user activity
        };

        return factory;
    }
]);

然后,您必須將工廠注入$ httpProvider並使用它:

$httpProvider.interceptors.push(["$q", "factoryName", function($q, factoryName, dependency1, dependency2) {
    return {
        'request': function(config) {
            //want to update a scope variable when a request is placed
            factoryName.track(userActivity);
            return config;
        }
    };
}]);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM