【问题标题】:How use inside common provider $http in Angular 1.4?如何在 Angular 1.4 中的通用提供程序 $http 中使用?
【发布时间】:2016-07-10 12:41:54
【问题描述】:

我尝试在提供程序中使用通用提供程序和 Angular 应用程序配置功能集数据。

.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 工作正常,但我需要通过配置函数在提供程序中准备数据。

【问题讨论】:

  • 它似乎对我有用,你能检查一下this here 并尝试复制一个问题..
  • @PankajParkar 但在配置阶段尝试,此时服务尚不可用
  • @charlietfl 抱歉,我一定是错过了一些愚蠢的东西才能理解发生了什么,this fiddle 我创建的。
  • @PankajParkar 看看这个jsfiddle.net/7byp2wdv/1。服务在配置阶段不可用
  • @charlietfl 我没有得到任何 OP 要求这样的东西,但感谢您清理它。基本上服务,工厂和价值在设计阶段无法在配置阶段访问,我已经用相同的信息更新了你的答案,谢谢:)

标签: javascript angularjs


【解决方案1】:

Services、factoryvalue 在设计阶段无法在配置阶段使用。

您可以在run() 中进行操作

app.run(['userData', function(userData) {

    userData.checkUser();
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-13
    • 1970-01-01
    • 2017-12-17
    • 2021-05-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多