gpt4 book ai didi

javascript - Knockout.js bool 值未更新

转载 作者:行者123 更新时间:2023-12-01 02:54:37 25 4
gpt4 key购买 nike

我正在尝试启用/禁用输入字段。

<input data-bind="disable: chatDisabled" id="send-message" type="textarea" class="input-area" value="">

还有我的knockoutJS

function MessagesViewModel() {
var self = this;
var socket = io.connect('http://127.0.0.1:4000');

self.messages = ko.observableArray([]);
self.chatSend = ko.observable();
self.questionChoice = ko.observable();
self.chatDisabled = ko.observable(false);


socket.on('receiveMessages', function(data) {
self.messages(data.messages);
var last = data.messages[data.messages.length-1];
self.chatDisabled = last.enforce || false;
scrollToBottom();
});
}

ko.applyBindings(new MessagesViewModel());

我已经设法让其他部分正常工作,例如在更新数组时在屏幕上填充消息列表。然而,在我的一生中,当在 socket.on(

内更改输入时,我无法让输入在禁用/启用之间切换

self.messages( 更新已更正,那么为什么 self.chatDisabled 没有更新呢?(需要明确的是,变量 JS 端已更新,但数据绑定(bind)未更新。

最佳答案

这应该可以解决问题:

self.chatDisabled(last.enforce || false);

您正在为属性分配新值,而不是更新可观察值。

关于javascript - Knockout.js bool 值未更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46791772/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com