我一直在尝试一个不显眼的 Knockout 数据绑定(bind) jQuery 插件。点击链接 here .
不过,我似乎无法弄清楚如何将“数据绑定(bind)”属性保留在模板之外。我也无法决定是否应该这样做。我只是有一种预感。
示例模板:
<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 的一部分。另外,我想避免多次应用绑定(bind)。
最佳答案
看来我只是回答了我自己的问题。考虑到模板中的元素实际上位于 DOM 中(只是以字符串形式),我可以修改字符串并添加 data-bind="click: select"。一位同事建议我不要进行字符串操作,而是暂时将模板文本作为innerHTML插入以将其添加到DOM中,使用插件对其进行修改,将修改后的版本作为文本插入回模板中并应用绑定(bind)。
关于javascript - 不引人注目的 knockout 模板问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6668467/