Ember.js 正确设置从模板中渲染的余烬部分的上下文

Ember.js 正确设置从模板中渲染的余烬部分的上下文,ember.js,Ember.js,我有以下父模板 {{render 'form' this}} 和下面的部分模板 <form> ... </form> <a href='#' {{action 'cancel'}}>{{buttonTitle}}</a> ... 按钮来自父控制器,但在同一控制器中定义的取消操作不具有约束力。我做错了什么?我想您需要的是模板助手,它在当前上下文中呈现模板 渲染帮助程序渲染带有关联控制器的模板。例如,如果您这样做了: {{render "

我有以下父模板

{{render 'form' this}}
和下面的部分模板

<form>
   ...
</form>
<a href='#' {{action 'cancel'}}>{{buttonTitle}}</a>

...

按钮
来自父控制器,但在同一控制器中定义的
取消
操作不具有约束力。我做错了什么?

我想您需要的是
模板
助手,它在当前上下文中呈现模板

渲染
帮助程序渲染带有关联控制器的模板。例如,如果您这样做了:

{{render "sidebar"}}
{{render "post" post}}
这将使用
App.SidebarController
呈现
sidebar
模板

如果您这样做了:

{{render "sidebar"}}
{{render "post" post}}
这将使用
App.PostController
呈现
post
模板,当前的
post
作为控制器的模型

这是一个错误,这些子控制器不冒泡事件,但我认为你不希望在第一位的行为。(更新此错误现已修复)


我们计划在未来几周内使命名和用法更加清晰。

我认为您需要的是
模板
助手,它在当前上下文中呈现模板

渲染
帮助程序渲染带有关联控制器的模板。例如,如果您这样做了:

{{render "sidebar"}}
{{render "post" post}}
这将使用
App.SidebarController
呈现
sidebar
模板

如果您这样做了:

{{render "sidebar"}}
{{render "post" post}}
这将使用
App.PostController
呈现
post
模板,当前的
post
作为控制器的模型

这是一个错误,这些子控制器不冒泡事件,但我认为你不希望在第一位的行为。(更新此错误现已修复)


我们计划在未来几周内使命名和用法更加清晰。

您能试试
target=“controller”
?@MilkyWayJoe我刚刚试过
渲染和
操作,但这两种方法似乎都没有用。有错误消息吗?你到底是怎么尝试的<代码>
?没有导致调试困难的错误消息。我以
的形式编写了它,并尝试在
cancel
周围不加引号。这两个文件都不起作用。您要查看的两个文件:
templates/users/new.hbs
templates/users/form.hbs
您能试试
target=“controller”吗
?@MilkyWayJoe我刚刚尝试了
渲染
操作
,但这两种操作似乎都没有帮助。有错误消息吗?你到底是怎么尝试的<代码>
?没有导致调试困难的错误消息。我是以
的形式写的,在
cancel
中没有引号,这两个文件都不起作用。您要查看的两个文件:
templates/users/new.hbs
templates/users/form.hbs
谢谢您的参与。这很有道理,但我仍然不明白为什么
buttonitle
属性通过了
cancel
操作却没有。你能制作一个JSBin来演示这个问题吗。现在你可以看到
linkTitle
属性被应用了,但是
back
操作没有绑定。仅供参考,我是ember的构建我的GH repo中的链接是昨天针对605fcc652cab57b0e86cd8cae665f07f436eed46I构建的,我通过执行{{render'users/form'controller='users.controller'}}解决了我的原始问题,但是如果您想知道我复制的是不是一个bug,我将JSFIDLE代码保持不变。谢谢您的参与。这很有道理,但我仍然不明白为什么
buttonitle
属性通过了
cancel
操作却没有。你能制作一个JSBin来演示这个问题吗。现在你可以看到
linkTitle
属性被应用了,但是
back
操作没有绑定。仅供参考,我是ember的构建我的GH repo中的链接是昨天针对605fcc652cab57b0e86cd8cae665f07f436eed46I构建的,我可以通过执行{{render'users/form'controller='users.controller'}}来解决我的原始问题,但是如果您想知道我复制的是不是一个bug,我将JSFIDLE代码保持原样。