you are redefining the idx variable so you cannot reference the outer-template's index - try changing the outer-template idx variable name:
http://jsbin.com/piwetotego/1/edit?html,output On 14 December 2014 at 19:39, <[email protected]> wrote: > > Yes I did do that but that gives me the index for the Phones array that is > a sub array of Contacts. So I have the index of the Phones array to remove > but I need the Contact index that the Phones array is attached to > > http://jsbin.com/yubigo/edit?html,output > > removePhone: function(e, detail, sender){ >> var contactIdx = parseInt(sender.templateInstance.model.c.idx) >> var phoneIdx = parseInt(sender.templateInstance.model.idx) >> this.data[contactIdx].splice(phoneidx,1); > > > When you click on a particular phone to delete from a contact it calls the > above function. You can see that in order to remove the phone that I have > the index for, I need to have the contact index as well. But in this > function I only have access to the model associated with the Phones and not > the Contact. Is there a way to traverse up the templateInstance chain to > get the templatInstance associated with the Contact? > > > On Sunday, December 14, 2014 1:49:12 AM UTC-5, [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/d95ef006-ead5-49d6-8175-f78fc543d9b8%40googlegroups.com > <https://groups.google.com/d/msgid/polymer-dev/d95ef006-ead5-49d6-8175-f78fc543d9b8%40googlegroups.com?utm_medium=email&utm_source=footer> > . > > For more options, visit https://groups.google.com/d/optout. > -- Daniel Llewellyn Bang Communications Limited t: 01256 370 952 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/CABtuYwcZ5GhqLegA2CfESuXwOOqdd4o84r_YQOdwP%3DHrixCxXw%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
