0
我可在车把模板与如何在自定义注册助手中使用emberjs动作助手?
<li>{{action "SomeAction" this}} {{this.name}}</li>
的SomeAction被称为添加动作为emberjs。
请问有什么可以添加自定义的助手里的动作(这只是一个例子,我在那里有更多的代码):
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>");
});
这就造成了同里的标签,但它不工作,用这个错误,当我点击李标签(错误消息是从话语应用程序):
未捕获的错误:没有处理行动''。如果您确实处理了该操作,则可能是由于从控制器中的操作处理程序返回true导致该操作冒泡而导致此错误。
该错误指示当前上下文没有控制器或路由处理指定的动作,即不包含具有'foo'助手中指定的函数的'actions'属性。看看这个例子,http://emberjs.jsbin.com/zudiqewo/1/edit如果你在'hbs'模板中重命名'{{foo“test”}}'为'{{foo“teest”}}'你会收到你提到的错误。 – melc
Thx,var bar = this;和你的行动工作:)作出答案,我会接受它:) – Piioo
伟大的我很高兴你工作了出来 – melc