【发布时间】:2011-07-12 17:31:44
【问题描述】:
我一直在试验一个不显眼的 Knockout 数据绑定 jQuery 插件。点击链接here。
不过,我似乎无法弄清楚如何将“数据绑定”属性保留在模板之外。我也无法决定是否应该这样做。我只是有预感。
示例模板:
<script id="storeTemplate" type="text/x-jquery-tmpl">
<li>
<div class="storeTitle" data-bind="click: select">${storeTitle}</div>
</li>
</script>
我认为将data-bind="click: select" 从那里拉出来可能是个好主意。有谁知道如何做到这一点?我试过$(".storeTitle").dataBind( { click: "select" } ); jQuery 选择器只选择已经在 DOM 中创建的对象,但我们要编辑的元素还不是 DOM 的一部分。另外,我想避免多次应用绑定。
【问题讨论】:
-
我刚刚检查了代码,我看不出插件无法在模板中运行的任何原因。您需要使用
$(".storeTitle").dataBind( { click: "select" } );以相同的方式进行操作 -
我不太清楚你的意思。我之前尝试过上面的行(也再次尝试过),但它对我不起作用。我也浏览了插件,它只选择已经在 DOM 中创建的对象,就像 jQuery 通常那样。我会稍微更新一下我的问题。
标签: javascript jquery html knockout.js jquery-templates