我正在使用 ko.utils.arrayFirst 从我的视图模型中获取匹配项,然后尝试更新其中一个属性,但我收到“不是函数”错误。任何帮助,将不胜感激。当我调用 match.NewMessage("") 时出现错误。不应该匹配我的视图模型中我的可观察数组中的一个项目的实例吗?SendMessage 是在我的视图模型上定义的函数,因此是“自我”引用,而 InstantMessages 被定义为 ko.observableArray。
self.SendMessage = function (im) {
var match = ko.utils.arrayFirst(self.InstantMessages(), function (item) {
return im.InstantMessageId === item.InstantMessageId;
});
if (match) {
var newMessage = new Chat.Message();
newMessage.FromUser = self.User;
newMessage.Text = match.NewMessage;
newMessage.InstantMessageId = match.InstantMessageId;
match.NewMessage("");
self.ChatHub.server.sendMessage(newMessage).fail(function (e) { alert(e); });
}
};