2017-01-16 6 views
0

私は剣道ツリービューコントロール(mvvmバージョン)を使用しています。アイテムは、ビューモデルの機能を使用するテンプレートにバインドされます。剣道ツリーテンプレート:d.MyFunctionは関数ではありません

<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) {...}; 

クリックイベントが実行されますが、CSSの機能は、結合モデル中にエラーがスローされます。キャッチされないタイプのエラーを:d.MyCssFunctionは関数ではありません。関数を単純なモデルプロパティ(ブール値など)で置き換えると、すべてが機能します。助けてもらえますか?

答えて

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> 
# } # 
関連する問題