我正在努力学习离子和放大器通过制作基本的短信应用来实现角度。所以我开始使用离子提供的标签模板,我只是调整一下来弄清楚一切是如何运作的。
无论如何,我试图将会话ID从表格行传递到会话控制器,以便它可以使用相关信息填充视图。
这是我的控制器:
var baxter = angular.module('baxter');
baxter.controller('ConversationsCtrl', function($scope,
conversationService) {
$scope.conversations = conversationService.conversations;
$scope.setCurrentConversation = function(convoID){
conversationService.selectedConversation(convoID);
}
});
服务:
var baxter = angular.module('baxter');
baxter.service('conversationService', function($http) {
this.conversations = [
{ title: 'Jill Sanders', id: 1 },
{ title: 'Bobby Duck', id: 2 },
{ title: 'Boatie McBoatface', id: 3 },
{ title: 'Jesus Christ', id: 4 },
{ title: 'Tall Blonde', id: 5 },
{ title: 'Mom', id: 6 }
];
this.selectedConversation = function(conversationID) {
console.log(conversationID);
}
return this;
});
错误:
0 780569 error Error: [$injector:unpr] Unknown provider: conversationServiceProvider <- conversationService <- ConversationsCtrl
答案 0 :(得分:-1)
当您再次重新声明baxter
时,您将覆盖变量var baxter
。这将创建一个新实例,之前的声明将丢失
为了不担心加载顺序而不使用全局变量来表示模块,我建议你不要使用var
来引用模块,只需这样做:
angular.module('baxter').controller('ConversationsCtrl', ... ;
angular.module('baxter').service('conversationService'....
如果一个文件中有多个组件,您也可以链接它们:
angular.module('baxter')
.controller('ConversationsCtrl',function(/* dependencies*/){
})
.service('conversationService'....