Angularjs - 广播事件被解雇双
问题描述:
我有这个简单的代码:Angularjs - 广播事件被解雇双
<modal ng-controler="Contacts">
//add new contact stuffs
</modal>
<div ng-controller="Contacts">
// show the new contact when added
</div>
.controller('Contacts', function ($scope, contactsFactory) {
contactsFactory.doSomething();
$scope.$on('contacts:addedNewContact', function (event, data) {
console.log('yo');
});
})
.factory('contactsFactory', function ($rootScope) {
var addNew = function (username, email) { //facoltative, we can get them via email OR username
return $http({
'method':'POST',
'url': appWS + '/api/contact',
'data': {
'email':email,
'username':username
}
}).then(function (response) {
if (response && response.status === 200) {
$rootScope.$broadcast('contacts:addedNewContact', response.data);
}
}).catch(function (err) {
$rootScope.$broadcast('contacts:errorAddingNewContact');
$window.console.error('Error while retrieving contact user data: ' + err);
});
};
return {
'addNew':addNew
};
});
广播联系人:addedNewContact实际上是把控制台“哟”的2倍。
我不明白为什么它会被双击而不是一次。
赞赏任何帮助,感谢
在您的模板中,您正在初始化控制器“联系人”两次=两个列表程序员=两个“哟”。 – 2014-10-08 11:37:39
现在感谢它的明确:) – sbaaaang 2014-10-08 12:28:40