【问题标题】:Inject service into angular 1.5 component将服务注入 Angular 1.5 组件
【发布时间】:2018-05-20 02:48:24
【问题描述】:

我正在尝试从 angular1.5 组件初始化 test.service.js,但我真的不知道该怎么做。我已经将此结构用于角度组件:

var testComponent =  {
    templateUrl: "app/components/test.component.html",
    controllerAs: "mvm",
    bindings:{
        bindingInput: "=",
},
controller: function(){
      var mvm = this;

    }
};
angular.module('myApp').component('testComponent', testComponent);

【问题讨论】:

  • @31piy 是的 ....

标签: javascript angularjs service components


【解决方案1】:

只需使用控制器注入它,如下所示:

...
},
controller: ['testService', function(testService){
  var mvm = this;
}],
...

【讨论】:

  • @mcmwhfy 你能分享你的test.service.js 吗?
【解决方案2】:

您可以像这样将服务直接注入控制器:

....
    controller: function(testService) {
      var mvm = this;
    }
};

为防止testService 被缩小插件混淆,请让注入器服务也知道依赖关系。

var Controller = function(testService) {
   // Your controller code here
};

Controller.$inject = ['testService'];

var testComponent = {
  ...
  controller: Controller, // Assign controller in component
  ...
};

【讨论】:

  • 我收到“未定义 testService”:|
  • @mcmwhfy -- 您在test.service.js 中声明的服务名称是什么?
猜你喜欢
  • 2016-10-27
  • 2016-08-08
  • 2016-08-04
  • 2018-08-22
  • 2016-09-15
  • 2016-09-10
  • 2015-09-05
  • 1970-01-01
  • 2016-03-25
相关资源
最近更新 更多