4

在模板中:

<button {{action someAction someParameter}}>Some Action</button>

在控制器中:

someAction: function (e, someParameter) {
    console.log(e, someParameter);
}

someParameter是未定义的,以及e我除外作为事件对象的地方。

如何将参数传递给动作?如果不可能,这是否意味着我需要创建Ember.View来处理带有参数的操作?

4

1 回答 1

9

我在您的代码中看到的唯一问题是使用 {{action}} 帮助器时事件对象未传递给控制器​​中的函数。无论如何,您的代码应该将 的值记录someParameter到控制台。如果你得到两个undefined可能不在模板的上下文中someParameter,或者它是。undefined

确保someParameter存在并保持正确的值,例如:

模板:

<button {{action someAction someParameter}}>Some Action (param: {{someParameter}} )  </button>

如果该值未显示,请尝试view.someParameter根据您呈现模板的方式,如果您显示您的代码,我们可能会为您提供更多帮助。

在控制器上:

someAction: function (someParameter) {
  console.log(someParameter);
}

希望这可以帮助!

于 2013-04-02T10:55:50.527 回答