1

这段与模板和 foreach 的绑定失败:

<div data-bind="template: { name: 'tmplA', foreach: { data: items } }">
</div>

<script id="tmplA" type="text/html">
    <h1 data-bind="text: text"></h1>
</script>

我用于绑定的 javascript 代码:

ko.applyBindings(
{
    items:
    [
        {
            text: "A"
        },
        {
            text: "B"
        }
    ]
});

显示错误的小提琴:http: //jsfiddle.net/ab3RN/2/

我使用foreach: { data: items }的原因是还能够使用 afterAdd、afterRender 等。我希望能够在每次呈现新项目时调用回调。

如果我只使用foreach: items绑定工作没有问题。

这是一个错误还是我做错了?

4

1 回答 1

1
It works?

http://jsfiddle.net/ab3RN/3/

你不能像你做的那样用一个对象文字来包装它。

顺便说一句,使用渲染和添加的回调是一种反模式,因为您从 ViewModel 获得对 DOM 的依赖关系。改用自定义绑定

编辑:自定义绑定示例 http://jsfiddle.net/2XTSt/

更新 Adrian 想要的是一个字符串模板源 http://jsfiddle.net/2XTSt/1/

于 2013-08-26T12:40:28.700 回答