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