我可以在 emberjs 的车把模板中添加操作
<li>{{action "SomeAction" this}} {{this.name}}</li>
SomeAction 被调用。
如何在自定义帮助程序中添加操作(这只是一个示例,我有更多代码):
Ember.Handlebars.registerHelper('foo', function(property, options) {
var bar = Ember.Handlebars.get(this, property, options);
var args = Array.prototype.slice.call(arguments, 1);
args.unshift("someAction");
args.unshift(bar);
var action = Ember.Handlebars.helpers.action.apply(this, args);
return new Ember.Handlebars.SafeString("<li "+new Ember.Handlebars.SafeString(action)+">"+bar.get("name")+"</li>");
});
这会创建相同的 li 标签,但它不起作用,当我单击 li 标签时出现此错误(错误消息来自 discourse 应用程序):
未捕获的错误:没有处理操作“”。如果您确实处理了该操作,则此错误可能是由于从控制器中的操作处理程序返回 true 导致的,从而导致操作冒泡。