function MessageModel(content) {
var self = this;
self.content = content;
}
self.currentMessage = ko.observable(new MessageModel(""));
self.addMessage = function () {
self.messages.push(self.currentMessage());
self.currentMessage(new MessageModel(""));
};
<form data-bind="submit: addMessage">
<input data-bind='value: currentMessage.content, valueUpdate: "afterkeydown"' />
<button id="ButtonSendMessage" type="submit">Send</button>
</form>
当输入框中的用户类型想要更新当前消息内容属性时,当我单击添加时,我希望将currentMessage添加内容。但内容总是空白。
答案 0 :(得分:2)
也许是因为内容不是一个可观察的,而且值绑定是错误的beacuse currentMessage
是一个可观察的,所以要绑定你必须做的任何属性{{1或者在元素上下文中使用currentMessage().prop
绑定,尝试这样的事情:
with: currentMessage
我还建议你使用function MessageModel(content) {
var self = this;
self.content = ko.observable(content);
}
bind:
textInput
textInput绑定:
textInput 绑定将文本框()或文本区域()与viewmodel属性链接,提供viewmodel属性和元素值之间的双向更新。与值绑定不同,textInput为DOM提供所有类型用户输入的即时更新,包括自动完成,拖放和剪贴板事件。