Ember.js 在with helper中执行操作

Ember.js 在with helper中执行操作,ember.js,htmlbars,Ember.js,Htmlbars,新的余烬在这里。我试图弄清楚如何执行一个动作,以及该动作的结果将由#with助手使用。下面是我的代码示例: {{{#导航容器为|导航容器} {{{(action navigationContainer.previousPage model)作为{prev}} {{链接到(t'navigation.previous')(concat'course run..prev.modelName)prev activeClass=“o25”title=prev.title}} {{/与}} {{/navi

新的余烬在这里。我试图弄清楚如何执行一个动作,以及该动作的结果将由
#with
助手使用。下面是我的代码示例:


{{{#导航容器为|导航容器}
{{{(action navigationContainer.previousPage model)作为{prev}}
{{链接到(t'navigation.previous')(concat'course run..prev.modelName)prev activeClass=“o25”title=prev.title}}
{{/与}}
{{/navigation container}}

导航容器
是一个公开一些操作的组件,其中一个操作是
上一页
previousPage
只返回一个模型,然后我使用该模型创建一些链接并与ember键盘一起使用

我收到一个错误,由于
prev
未定义,指向
链接无法建立路由。操作正在执行并正确返回,就在这个
with
块的上方,因此我假设
with
块就是问题所在


谢谢你的帮助

我想你理解错了。
with
帮助程序不允许您执行操作。
(action navigationContainer.previousPage model)
的结果基本上是一个新的闭包函数,它将执行
navigationContainer.previousPage
,第一个参数是
model
,下一个参数是您给新函数的参数

因此,如果您执行类似于
的操作,这将导致使用第一个参数
model
和下一个
“bar”
执行函数
navigationContainer.previousPage


如果希望在模板中获得函数的结果,则必须使用计算属性。

可以使用以下
{{#with(action navigationContainer.previousPage model)作为| prev |}
代码片段创建操作;但是
prev.modelName
是什么意思
prev
本身是一个函数,它不包含名为
modelName
的属性。此操作不会在具有此声明的模板中自行运行;您需要将其传递给组件并在js文件中执行。如果我所理解的是正确的,那么你想要实现的即使不是不可能,也是令人困惑的。你能告诉我你想达到什么目标吗?您是否试图在模板或其他内容中执行操作?