0
我試圖啓用/禁用輸入字段。Knockout.js布爾沒有更新
<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側更新它的數據綁定不是
'self.chatDisabled(last.enforce || false;)'? – peinearydevelopment
@peinearydevelopment是正確的,您正在將chatDisabled的值更改爲等於last.enforce || false而不是更新observable的內容。 – Budhead2004
AH我是個白癡,謝謝/ facepalm – jackdh