我正在尝试使用$ emit发送多个参数,但它给了我未定义的值。这是我的代码:
在messageService中:
var internalScope = detachedScope.$new();
function updateCallback(newMessage) {
internalScope.$emit("change", angular.copy(inboxMessages), angular.copy(newMessage));
}
function observeMessages(fn) {
return internalScope.$on('change', function (e, val, newVal) {
fn(val, newVal);
});
}
在observerService中:
messageboxService.observeMessages(function (messages, value) {
console.log(value); // always given undefined
}
有人可以告诉我我在哪里制造问题..
答案 0 :(得分:1)
您可以尝试使用两个键发送对象
var internalScope = detachedScope.$new();
function updateCallback(newMessage) {
internalScope.$emit("change", {inboxMsg: angular.copy(inboxMessages), newMsg: angular.copy(newMessage)});
}
在观察员服务中,
messageboxService.observeMessages(function (evt,messageData) {
console.log(messageData.inboxMsg, messageData.newMsg); // always given undefined
}