如何使 knockout 数据绑定(bind)作用于动态生成的元素?例如,我在 div 中插入一个简单的 html 选择菜单,并希望使用 knockout options 绑定(bind)来填充选项。这是我的代码的样子:
$('#menu').html('<select name="list" data-bind="options: listItems"></select>');
但是这个方法行不通。有什么想法吗?
最佳答案
如果您在绑定(bind) viewmodel 后动态添加此元素,它将不会出现在 viewmodel 中,也不会更新。你可以做两件事之一。
- 将元素添加到 DOM 并通过再次调用
ko.applyBindings();
重新绑定(bind)它 - 或者从头开始将列表添加到 DOM,并将 View 模型中的选项集合留空。在您稍后将元素动态添加到选项之前,Knockout 不会呈现它。
关于javascript - 动态生成元素上的 knockout 数据绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11066732/