2016-08-10 9 views
0

私はノックアウトを使用している問題を解決しようとしています。 私はクリーナーで作業しているビューを作成するためにテンプレートを使用したいと思います。 しかし、現時点では、テンプレートに関数の引数として使用する必要のある余分なパラメータを渡す必要があるため、私はそれを行うことはできません。今まで、私はそれを行う方法を見つけていない。ここでノックアウト3.2.0 - テンプレート内で余分なパラメータを渡す

は、私が作成したテンプレートです:

<script type="text/html" id="my-template"> 
    <div data-bind="click: $root.selectItem.bind($data,$data.type)"> 
</script> 

<div data-bind="template:{name:'my-template',foreach: contactInfo().Children, data:{type:'firstContactList'}"></div> 

<div data-bind="template:{name:'my-template',foreach: contactInfo().Children, data:{type:'SecondContactList'}"></div> 

だから、基本的に、私が欲しいのはそう、firstContactListまたはSecondContactListとして文字列を、私のテンプレートを使用してのforeachを使用して、追加のパラメータを渡すことができるようにすることです。

私が今まで...

+1

これは役に立ちます:http://stackoverflow.com/questions/20430976/can-i-pass-a-variable-in-a-template-binding – Rajesh

+0

'firstContactList'と' SecondContactList'の違いは何ですか? – Tomalak

+0

firstContactListまたはSecondContactList(単なる文字列)をパラメータとして渡す必要があります。なぜなら、値に応じてselectItemメソッド内で行う処理が異なるからです。私はちょうどパラメータ=== firstcontactList - >次に、otherwhise、それを行う、などのパラメータにvertifiedを持っている...希望それは明らかです。 – Azuk

答えて

1

あなたがテンプレートに余分なデータを渡すことができないことをやって成功していないが、あなたが望むものは何でも渡すことができるようにコードをリファクタリングできます

<script type="text/html" id="my-template"> 
    <div data-bind="foreach: children"> 
     <div data-bind="click: $root.selectItem.bind($data, $parent.type)"></div> 
    </div> 
</script> 

<div data-bind="template:{name:'my-template', data:{children:contactInfo().Children, type:'FirstContactList'}"></div> 

<div data-bind="template:{name:'my-template', data:{children:contactInfo().Children, type:'SecondContactList'}"></div> 
+0

みなさんありがとう。実際、それが私の問題を管理する方法でした。 – Azuk

関連する問題