<template repeat='{{c,idx in data}}'> creates a named scope with "c" and
"idx" in that scope. Similar to how you can the model "c" in
removeContact(), you can do the same if you include the idx:
sender.templateInstance.model.idx
On Sat, Dec 13, 2014 at 10:49 PM, <[email protected]> wrote:
>
> I am trying to convert Knockout contacts example to Polymer just for
> reference and was wondering if there is an easier method to get the
> selected index of a row.
>
> Here is the Knockout example I am converting
> http://jsfiddle.net/rniemeyer/gZC5k/
>
> Here is what I am working on http://jsbin.com/yubigo/2/edit?html,output
>
> I know I can find the index by using something like this, this would be
> for deleting a contact
>
> removeContact: function(e, detail, sender){
>
> var obj = e.target.templateInstance.model.row;
> var found_index = this.data.indexOf(obj);
> if (found_index !== -1) {
> this.data.splice(found_index,1);
> }
> }
>
> Or if I want to pass the index from the template I can do something like
> using the polymer index syntax and assigning it to a html5 data
> attribute such as data-idx
>
> <template repeat='{{c,idx in data}}'><tr>
> <td>
> <input value='{{idx}}' />
> <input value='{{c.firstName}}' />
> <div><a href='javascript:;' on-tap='{{removeContact}}'
> data-idx='{{idx}}'>Delete</a></div>
> </td>
> <td><input value='{{c.lastName}}' /></td>
> </tr>
> </template>
>
>
>
> But having to add the polymer index syntax and data- attribute or having to
> search for the index in js each time is a little bit of a pain especially
> since Polymer already has the index for the selected row.
>
>
> Is the selected index exposed in js somewhere that I am missing?
>
> Follow Polymer on Google+: plus.google.com/107187849809354688692
> ---
> You received this message because you are subscribed to the Google Groups
> "Polymer" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/polymer-dev/39434bd7-5269-44cc-902e-06517a081c64%40googlegroups.com
> <https://groups.google.com/d/msgid/polymer-dev/39434bd7-5269-44cc-902e-06517a081c64%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>
Follow Polymer on Google+: plus.google.com/107187849809354688692
---
You received this message because you are subscribed to the Google Groups
"Polymer" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/polymer-dev/CACGqRCDRQsz8vAMEjJZ9dkXeyvaB8P%3DgZtgVebgxp3P-X23J8g%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.