2

在 Rails 中,您可以执行以下操作:

应用程序.html.erb:

<h1><%= yield :title %></h1>
<%= yield %>

someother_template.html.erb:

content_for :title { 'Some Title' }

other stuffz

有没有办法使用 emberjs 做这种事情?

4

1 回答 1

2

有没有办法使用 emberjs 做这种事情?

如果你想要 yield-as-in-layouts 那么是的,你可以使用 handlebars {{yield}}helper 来包装一个视图

AViewWithLayout = Ember.View.extend({
  layout: Ember.Handlebars.compile("<div class='my-decorative-class'>{{yield}}</div>")
  template: Ember.Handlebars.compile("I got wrapped"),
});

参见Ember.Handlebars.helpers#yield

相反,如果您想要以内容为单位的收益,则没有直接并行的 AFAIK。不确定 content-for 模式在把手模板的上下文中是否真的有意义,因为 content_for 是关于从模板内进行分配。在 ember 中,在应用程序模板中设置类似 {{title}} 的首选方法是将其绑定到应用程序控制器的属性。

于 2013-04-16T15:43:11.427 回答