angularjs – 在app.config中注入服务

前端之家收集整理的这篇文章主要介绍了angularjs – 在app.config中注入服务前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在app.config中注入一个服务,以便在调用控制器之前检索数据。我试着这样:

服务:

app.service('dbService',function() {
    return {
        getData: function($q,$http) {
            var defer = $q.defer();
            $http.get('db.PHP/score/getData').success(function(data) {
                defer.resolve(data);            
            });
            return defer.promise;
        }
    };
});

配置:

app.config(function ($routeProvider,dbService) {
    $routeProvider
        .when('/',{
            templateUrl: "partials/editor.html",controller: "AppCtrl",resolve: {
                data: dbService.getData(),}
        })
});

但我得到这个错误

Error: Unknown provider: dbService from EditorApp

如何更正设置和注入此服务?

Alex提供了无法做你想做的事情的正确理由,所以1.但是你遇到这个问题,因为你不完全使用解决他们的设计。

resolve采用服务的字符串或返回要注入的值的函数。因为你是做后者,你需要传递一个实际的函数

resolve: {
  data: function (dbService) {
    return dbService.getData();
  }
}

当框架去解析数据时,它会将dbService注入到函数中,以便您可以自由使用它。你不需要注入到配置块完成这一点。

好胃口!

原文链接:https://www.f2er.com/angularjs/147461.html

猜你在找的Angularjs相关文章