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文件中执行。如果我所理解的是正确的,那么你想要实现的即使不是不可能,也是令人困惑的。你能告诉我你想达到什么目标吗?您是否试图在模板或其他内容中执行操作?