emberjs是否相当于rails`re yield:something`?

时间:2013-04-16 15:23:39

标签: javascript ruby-on-rails templates ember.js

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

application.html.erb:

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

someother_template.html.erb:

content_for :title { 'Some Title' }

other stuffz

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

1 个答案:

答案 0 :(得分:2)

  

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

如果你想要布局中的yield-yes,那么你可以使用把手{{yield}}帮助器来包装视图

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

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