当触发 Javascript (Signalr) 函数时,我使用 knockoutjs 更新我的 Html 视图。producthub.client.showOnlineUser
但是视图在调用时不会更新。当我每次应用绑定时,表格多次具有相同的内容。我怎样才能更新knockoutjs中的视图?
html:
<table id="usersTable">
<thead>
<tr>
<th>Name</th>
<th>Mail</th>
</tr>
</thead>
<tbody data-bind="foreach: seats">
<tr>
<td data-bind="text: NameFirst"></td>
<td data-bind="text: Mail"></td>
</tr>
</tbody>
</table>
Javascript:
$(document).ready(function () {
var applied = false;
var model;
producthub.client.showOnlineUser = function (userOnlineOnUrl, msg1) {
function ReservationsViewModel() {
var self = this;
self.seats = ko.observableArray(userOnlineOnUrl);
}
model = new ReservationsViewModel();
if (!applied) {
ko.applyBindings(model);
applied = true;
}
};
});
userOnlineOnUrl
是一个 JSON 数组,它会在每个函数调用中更改它的数据。视图(表)未使用其数据进行更新。