我收到错误:
错误:[ng:areq]参数'fn'不是函数,得到字符串
我阅读并应用其他建议。但我还没有解决问题。
这是我的代码:
controller.js
Element.innerHtml="";
services.js
angular.module('starter.controllers', [])
.controller('DashCtrl', function ($scope,$ionicScrollDelegate,SocketService) {
var me = this;
me.messages = [];
$scope.sendTextMessage = function() {
var msg = {
'text': me.messages
}
me.messages.push(msg);
$ionicScrollDelegate.scrollBottom();
me.messages = '';
SocketService.emit('mesaj', msg);
};
});
答案 0 :(得分:0)
声明角度模块时删除第二个参数。
所以改变这个:angular.module('starter.controllers', [])
对此:angular.module('starter.controllers')
答案 1 :(得分:0)
有两件事突然袭来;
1)没有注射;将这些行修复为:
.controller('DashCtrl', ['scope', '$ionicScollDelegate', 'SocketService', function ($scope,$ionicScrollDelegate,SocketService){
和
.service('SocketService', ['socketFactory',
虽然是最后一行,但我只是简单地将SocketService()函数写入其中:
app
.service('SocketService', ['socketFactory', function(socketFactory) {
return socketFactory({
ioSocket: io.connect('http://l92.168.1.27:3000')
});
}])
2)您似乎有两个应用。而不是全部抛出angular.module(),而是在一个地方定义它:
var app = angular.module('starter', []);
然后你可以在其他地方使用它:
app
.service('SocketService, [.... etc
见1)第二部分的实际操作