【发布时间】:2014-04-28 15:02:19
【问题描述】:
我今天遇到了在 Hot Towel API 中使用敲除的数据绑定问题。举个例子……
var vm = {
item: { entry: 'yes' }
}
return vm
和 html
<div data-bind="text: item.entry"></div>
这可行,但是当我修改 js 以动态添加 div 时
var vm = {
canActivate: canActivate,
activate: activate,
attached: attached,
item: { entry: 'yes' }
}
return vm
function canActivate(){
return true;
}
function activate() {
logger.log(title + ' View Activated', null, title, true);
return true;
}
function attached() {
$('#page').append('<div data-bind=\"item.entry\"></div>);
}
数据绑定失败。我尝试使用 ko.cleanNode,然后尝试重新绑定 DOM 对象,但收到无法重新应用绑定消息。有没有人提出动态添加 DOM 数据绑定的解决方案?
【问题讨论】:
-
请问你为什么要附加一个元素?使用淘汰赛时,您不应该做太多的事情。相反,您将拥有一个项目列表,然后让淘汰赛使用 foreach 绑定为您呈现它们。添加一个新的......然后你只需将它添加到视图模型列表中,它就会立即工作和渲染。
-
这就是我现在正在研究的内容,但就我正在做的事情而言,这是一项艰巨的任务,因为我的页面布局是数据库驱动的。
标签: jquery html knockout.js hottowel