0
我想注入一個服務到使用$ routeProvider的解析屬性的控制器,但我運行它時遇到此錯誤。任何建議都會很棒。提前致謝。問題ngRoute注入解決方案服務到組件控制器
Error: [$injector:unpr] Unknown provider: messageProvider <- message
GitUserService.js
module.exports = function (app) {
app.factory('GitUser', ['$http', function ($http) {
return {
GetGitUser: function (username) {
return $http.get('https://api.github.com/users/' + username)
.then(function success(response) {
return response.data.login;
}, function error(response) {
return console.log("error");
});
}
};
}]);
};
route.js
module.exports = function (app) {
require('../../services/GitUserService')(app);
app.config(['$routeProvider', function ($routeProvider) {
$routeProvider.when('/angularhome', {
template: '<home></home>',
resolve: {
message: ['GitUser', function (GitUser) {
return GitUser.GetGitUser('test');
}]
}
})
}]);
};
HomeController.js
require('./Home.scss');
module.exports = function (app) {
app.component('home', {
templateUrl: 'Content/app/components/home/Home.html',
controller: ['message', HomeController]
});
function HomeController(message) {
this.name = message;
}
};
index.js
module.exports = function (app) {
require('./route')(app);
require('./HomeController')(app);
};
https://docs.angularjs.org/guide/component#components -as-route-templates –
請參見[AngularJS開發人員指南 - 組件作爲路由模板](https://docs.angularjs.org/guide/component#components-as-route-templates)。另外請注意,'GitGitUser'函數將**拒絕的承諾轉化爲成功的承諾。請參閱[使用'$ q'的角度執行順序](http://stackoverflow.com/questions/34324153/angular-execution-order-with-q/34326388#34326388) – georgeawg
感謝球員,閱讀您提供的鏈接解決問題! – Ron