如何在Angular 1.4中使用常见的提供者$ http?

时间:2016-07-10 12:41:54

标签: javascript angularjs

我尝试在提供程序中使用公共提供程序和角度应用程序配置功能集数据。

.provider('userData', function() {
    var authUser = {};
    return {
        checkUser: function() {
            // wish to able use $http here for request to get data from service
            // save all data into 'authUser' object
            // $get return 'authUser' object
        },
        getCookie: function(value) {
            // wish to able use $http here
        },
        $get: function() {
            // only for return object
            return authUser;
        }
    }
})

app.config(['userDataProvider', function(userDataProvider) {

    userDataProvider.checkUser();
});

.controller('headerCtrl', ['$scope', 'userData', '$http', function($scope, userData, $http) {
    // use inside all controllers/directives 'userData'
});

我尝试在$ get函数中使用$ http作为参数 - >不工作:错误:

$get: function($http) {
     return authUser;
}

此外,我找不到在提供程序中使用$ http的任何有效示例。内部服务/工厂$ http工作正常,但我需要从配置函数中提供数据。

1 个答案:

答案 0 :(得分:0)

Service s,factory& value在配置阶段无法按设计提供。

您可以在run()

中执行此操作
app.run(['userData', function(userData) {

    userData.checkUser();
});