jquery-tmpl
jquery-tmpl copied to clipboard
Make $index available when array passed to .tmpl()
It an array is passed to .tmpl() the template is rendered once for each item in the data array.
It would be great if $index were available inside the template when an array is passed to .tmpl(), as it is when using {{each}}.
see this patch: https://github.com/clarkbox/jquery-tmpl/commit/993e6fa128c5991723316032abe12ff0cbbb9805
Yes, a lot of people have requested this. I did at one point implement an index field on the template item, but decided against if for the reasons explained here: http://api.jquery.com/jquery.tmpl/#comment-111707270 http://api.jquery.com/jquery.tmpl/#comment-98013066
We may consider adding that feature at some point, but in that case we need to work out the strategy for cases when things might get out of sync... Keeping as an open issue for now.
i do not see why would for example rerendering an item rule out the index property.
on the other hand you force the users to craft all kinds of workarounds whihch are all suboptimal (see for example the sample code for rendering items with alternate styles)
as long as all the caveats are noted in the documentation $index should be part of the package
more comments about this issue here: https://github.com/jquery/jquery-tmpl/pull/33
We will be considering this for a Beta2 (probably coming out in April).
See also dup https://github.com/jquery/jquery-tmpl/issues#issue/51
I definitely support this one. Super useful
Thanks for taking the time to submit this issue. Just wanted to let you know this plugin is no longer being actively developed or maintained by the jQuery team. See README for more info.
$index is available on the 'next-generation' work going on at JsRender. Take a look at this post for more context.
Good news albeit I'm concerned that http://ajax.microsoft.com/ajax/jquery.templates/beta1/jquery.tmpl.min.js will be shut down. Any news on that account?
Well the news is as stated in my post, linked above. jquery.tmpl will of course continue to be available and you can use it, but it will not be maintained with ongoing bug fixes or feature requests. JsRender and JsViews will be where active ongoing development will be happening...