Skip to content

Instantly share code, notes, and snippets.

@ctaloi
Last active August 29, 2015 14:24
Show Gist options
  • Save ctaloi/dba5770b917d9353aa55 to your computer and use it in GitHub Desktop.
Save ctaloi/dba5770b917d9353aa55 to your computer and use it in GitHub Desktop.
Meteor Need Parent Data
// Data
{
"name": "Chris Aloi",
"email": "[email protected]",
"groups":
[
{
"name": "Engineering",
"id": "engineering",
"member": true,
},
{
"name": "Service USA",
"id": "serviceUsa",
"member": true,
},
{
"name": "Service Asia",
"id": "serviceAsia",
"member": false
}
]
}
// Template
...
{{#each agents}}
<tr>
<td>{{name}}</td>
<td>{{email}}</td>
<td>
{{#each groups}}
<p>
<input type="checkbox" id="{{id}}" checked="{{member}}" class="toggle-checked" />
<label for="{{id}}">{{name}}</label>
</p>
{{/each}}
</td>
</tr>
{{/each}}
...
// Helper
Template.agents.helpers({
agents: function () {
return Agents.find({})
}
});
// Event:
Template.agents.events({
"click .toggle-checked": function (event, template) {
console.log(this)
// Object {name: "Service USA", id: "serviceUsa", member: true}
console.log(this.parent)
// undefined
console.log(template.data)
// null
console.log(Template.parentData(1))
// null
console.log(Template.parentData(1))
// null
console.log(Template.parentData(2))
// null
console.log(Template.currentData())
// null
// Agents.update({ _id: template.data._id }, {$set: {member: ! this.member} } );
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment