项目模板访问模型

项目模板访问模型

我需要从列表 View 的项目模板访问模型字段。基本上,我需要用viewModel的“valueToAccess”替换名字。一些 body 可以在这里帮助我。

<div id="app"></div>

<script type="text/x-kendo-template" id="item-template">
    <a href="/#= name #/#= name #">#= name #</a>
</script>

<script type="text/x-kendo-template" id="view-template">
    <div data-role="listview"
         data-bind="source: items"
         data-template="item-template">
    </div>
</script>

<script>

    var viewModel = {
        items: new kendo.data.DataSource({
            data: [{ name: "item1" }, { name: "item2" }]
        }),

        valueToAccess: "index",

        remove: function(e){
            this.items.remove(e.data);
        }
    };

    viewModel.items = new kendo.data.DataSource({
        data: [{ name: "item1" }, { name: "item2" }]
    });

    var view = new kendo.View('view-template', { model: viewModel });

    view.render("#app");

</script>

<div id="app"></div>

最佳答案

您可以通过使用从属属性来实现。

<script type="text/x-kendo-template" id="item-template">
    <a data-bind="attr: { href: href}, text: name"></a>
</script>

<script>
var viewModel = {
    items: new kendo.data.DataSource({
        data: [{ name: "item1" }, { name: "item2" }]
    }),

    valueToAccess: "index",
    href: function(item) {
      return this.get("valueToAccess") + "/" + item.name;
    },

    remove: function(e){
        this.items.remove(e.data);
    }
};
</script>

这是一个现场演示:http://jsbin.com/naxiy/1/edit

07-25 22:01