Ember.js js将参数传递给操作助手

Ember.js js将参数传递给操作助手,ember.js,Ember.js,如何将“简单”参数传递给动作助手,例如: <li><a {{action markRead true target="controller"}}>Todo</a></li> 待办事项 我想通过的论点是真的 这显然是行不通的 它必须是一个余烬路径才能工作吗?在最新版本的余烬(当然>=2.0)中,您的示例将写为: <li><a {{action "markRead" true target="controller"}}>To

如何将“简单”参数传递给动作助手,例如:

<li><a {{action markRead true target="controller"}}>Todo</a></li>
待办事项 我想通过的论点是真的

这显然是行不通的


它必须是一个余烬路径才能工作吗?

在最新版本的余烬(当然>=2.0)中,您的示例将写为:

<li><a {{action "markRead" true target="controller"}}>Todo</a></li>
待办事项 true将是一个你想要的布尔值


旧版本的Ember会将
true
解释为属性路径,并尝试解析它的值。

也许这是最近添加到Ember.js中的,但您肯定可以在action helpers中传递参数

模板:

{{action "downloadVideo" this false}}
路线:

var ApplicationRoute = FooRoute.extend({

   actions: {
      downloadVideo: function(video, closeModal) {
        console.log("closeModal", closeModal); //outputs "closeModal false" if this didnt work it would output "closeModal undefined"
      }
   }
});

不确定它是否不接受这样的值,但我认为最好在控制器或模型中使用该属性,并使用
markRead
作为该属性的切换,因此,您不需要传递一个简单的值,而是将该项作为上下文传递。难道操作助手不支持将参数传递给目标eventhandler吗?这是故意的吗@LukeIt支持将属性值作为参数传递。因此,每个参数都将被解释为一个属性路径,该路径将被解析为其基础值,然后随操作一起传递给目标。这个答案不再有效。检查一下,谢谢。更新了我的答案。