处理Ember.js中的动作参数

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来处理带参数的动作?

dan*_*nii 9

我在代码中看到的唯一问题是,在使用{{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)

希望这可以帮助!

  • 如何使用组件?对于前者 {{my-component action ="myHandler"someParams}} (3认同)