Reputation: 771
I have this in my dashboard.html
{{#each todos}}
<li class="list-group-item">
{{ task }}
<button class="delete"> Delete</button>
</li>
{{/each}}
and in the controller dashboard.js
I have this
DashboardController.events({
'click .delete': function () {
Meteor.call('ToDos.delete',this._id);
}
});
Without Iron Controller I can access the id of the collection in the event using this._id
but with this setup it has a null value. Any ideas how to get the id of the collection todo in the controller?
Upvotes: 1
Views: 344
Reputation: 11376
Do the follow.
DashboardController = RouteController.extend({
template: 'layout',
data: function () { return SomeCollection.findOne(); },
waitOn: function() { return Meteor.subscribe('someCollection') }
});
DashboardController.events({
'click .delete': function () {
console.log(this.data())
console.log(this.data()._id)//not sure if this works.
Meteor.call('ToDos.delete',this.data());
}
});
The key here its that we don't need the {{#each}}
, you should use the data function to populate the template with data.
if you do the follow it will work.
Template.example.events({
'click .delete': function () {
console.log(this.data()) //undefined
console.log(this._id)//id
Meteor.call('ToDos.delete',this._id);
}
})
Upvotes: 1