Woj*_*ski 4 javascript handlebars.js ember.js
在模板中:
<button {{action someAction someParameter}}>Some Action</button>
Run Code Online (Sandbox Code Playgroud)
在控制器中:
someAction: function (e, someParameter) {
console.log(e, someParameter);
}
Run Code Online (Sandbox Code Playgroud)
someParameter是不确定的以及e我除了作为事件对象的地方.
如何将参数传递给动作?如果不可能,这是否意味着我需要创建Ember.View来处理带参数的动作?
我在代码中看到的唯一问题是,在使用{{action}}帮助程序时,事件对象不会传递给控制器中的函数.无论如何,您的代码应该记录someParameter控制台的值.如果你获得两个undefined也许someParameter是没有模板的范围内,或者是undefined.
确保someParameter存在且保持正确的值,例如:
模板:
<button {{action someAction someParameter}}>Some Action (param: {{someParameter}} ) </button>
Run Code Online (Sandbox Code Playgroud)
如果该值未显示,请尝试view.someParameter根据您呈现模板的方式,如果您显示代码,我们可能会为您提供更多帮助.
在控制器上:
someAction: function (someParameter) {
console.log(someParameter);
}
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助!