kendo树视图模板:d.MyFunction不是函数

时间:2017-01-16 17:55:46

标签: function templates mvvm kendo-ui kendo-treeview

我正在使用kendo树视图控件(mvvm版本)。这些项绑定到使用视图模型功能的模板。

<div id="myTreeView"
         data-role="treeview"
         data-bind="source: MySource"
         data-template="treeview-template">
</div>

<script id="treeview-template" type="text/x-kendo-template">
    <span data-bind="events: { click: MyClickEvent }, css: { active: MyCssFunction(#=item.Id#) }">#: item.Name #</span>
</script>

viewModel.MyCssFunction = function(e) {...};
viewModel.MyClickEvent= function(e) {...};

执行click事件,但css函数在模型绑定期间抛出错误:未捕获类型错误:d.MyCssFunction不是函数。如果我用简单的模型属性替换函数(一个布尔),一切正常。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

这似乎不可能,但您可以在条件表达式中引用该函数(请注意,此处必须添加 viewModel ):

# if(viewModel.MyCssFunction(item.Id)) { #
     <span class="active" data-bind="events: { click: MyClickEvent }">#: item.Name #</span>
# } else { #
     <span data-bind="events: { click: MyClickEvent }">#: item.Name #</span>
# } #