2016-08-10 5 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, строку так.

Я не удалось сделать это до сих пор ...

+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 ->, тогда сделайте это, другие, сделайте это ... Надеюсь, это ясно. – 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

Смежные вопросы