我有以下模板代码
<a href="javascript:void(0)" {{bindAttr data-id="voucher.id"}} {{ action 'deleteVoucher' target="controller"}}>Delete</a>
我的控制器代码是
App.CreditIndexController = Ember.ArrayController.extend({
deleteVoucher: function(event){
//var g = this.get('data-id');
//var g = $(event.target).attr('deleteVoucher');
var g = $(this.target);//.attr('data-id');
console.log(g);
}
});
我是新手从我的控制器模板中获取“data-id”的值。我在deleteVoucher函数中尝试了代码。但都没有效果。
答案 0 :(得分:1)
使用Ember你不必这样做,而是你可以轻松地将一个对象传递给你的动作助手,动作处理程序可以将其作为参数:
<a href="#" {{ action deleteVoucher voucher target="controller"}}>Delete</a>
App.CreditIndexController = Ember.ArrayController.extend({
deleteVoucher: function(voucher){
var id = voucher.get("id")
console.log(id);
}
});
答案 1 :(得分:1)
比你想象的容易:
<a href="#" {{action 'deleteVoucher' voucher}}>Delete</a>
控制器:
App.CreditIndexController = Ember.ArrayController.extend({
deleteVoucher: function(voucher){
console.log(voucher.get("id"));
}
});
{{action}}
的默认目标voucher.id
)存储在DOM中。这是一个不好的做法。将DOM视为您应用程序中其他地方的反映。href
属性中添加的内容无关紧要:它会自动阻止点击时访问该链接。