Mah*_*alt 3 dependency-injection angularjs angularjs-scope chart.js
我正在尝试使用这个插件https://github.com/jtblin/angular-chart.js.而且我收到了这个错误(我认为问题不在于插件而是在我正在进行注射的方式!!):
Error: [$injector:unpr] Unknown provider: chart.jsProvider <- chart.js <- WhateverCtrl
http://errors.angularjs.org/1.3.20/$injector/unpr?p0=chart.jsProvider%20%3C-hart.js%20%3C-%20WhateverCtrl
at http://mega.app/scripts/vendor.js:9895:12
at http://mega.app/scripts/vendor.js:13863:19
at Object.getService [as get] (http://mega.app/scripts/vendor.js:14010:39)
at http://mega.app/scripts/vendor.js:13868:45
at getService (http://mega.app/scripts/vendor.js:14010:39)
at invoke (http://mega.app/scripts/vendor.js:14042:13)
at Object.instantiate (http://mega.app/scripts/vendor.js:14059:27)
at http://mega.app/scripts/vendor.js:18356:28
at http://mega.app/scripts/vendor.js:44696:28
at invokeLinkFn (http://mega.app/scripts/vendor.js:18113:9)
Run Code Online (Sandbox Code Playgroud)
当我chart.js像下面那样全局注入时,我没有得到任何错误.(继续阅读)
angular.module('my-app', [
'chart.js' // <<<<<
'ui.router',
'ngStorage',
// ...
]);
})();
Run Code Online (Sandbox Code Playgroud)
但根据我的理解,建议仅在使用它的控制器中注入此模块,因此当我尝试将其注入下面的控制器时,我得到上面的错误.
angular
.module('my-app')
.controller('WhateverCtrl', ctrl);
ctrl.$inject = ['chart.js']; // <<<<<
function ctrl() {
var vm = this;
// ...
Run Code Online (Sandbox Code Playgroud)
但是,如果我$从注入行中删除ctrl.inject = ['chart.js'];我确实摆脱了错误,但chart.js不会工作,因为我想我必须将它传递给这样的函数function ctrl() {,这function ctrl(chart.js) {当然会导致错误..
| 归档时间: |
|
| 查看次数: |
1545 次 |
| 最近记录: |