I know this isn't a good method to use long term, but for troubleshooting, is there any way I can pass a simple string while binding a template and then access it as a variable within the template? For instance, if this was my binding:
<!-- ko template: { name: tmplOne }, myvar: 'apple' -->
and this was tmplOne:
<div>
<span>Fruit: </span>
<span data-bind="text: myvar"></span>
</div>
It would result in the folowing:
fruit: apple
Even if I have to declare an observable in the viewmodel called "fruit", can I manually set it at template binding?
Use
<!-- ko template: { name: tmplOne, templateOptions: {myvar: 'apple'} } -->
More here: http://www.knockmeout.net/2011/03/quick-tip-reusing-template-by-passing.html
You can supply a data parameter to the template binding and define an object literal if you want just like you are doing:
<!-- ko template: { name: tmplOne }, myvar: 'apple' -->
instead do this:
<!-- ko template: { name: tmplOne, data: { myvar: 'apple' } } -->
http://knockoutjs.com/documentation/template-binding.html
For people reading on later versions of knockout, this would appear to be a good usecase for components vs templates.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With