加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – 在app.config中注入服务

发布时间:2020-12-17 09:22:25 所属栏目:安全 来源:网络整理
导读:我想在app.config中注入一个服务,以便在调用控制器之前检索数据。我试着这样: 服务: app.service('dbService',function() { return { getData: function($q,$http) { var defer = $q.defer(); $http.get('db.php/score/getData').success(function(data)
我想在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注入到函数中,以便您可以自由使用它。你不需要注入到配置块完成这一点。

好胃口!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读