指定要在'render'中显示的模板

时间:2013-09-19 22:50:13

标签: javascript ember.js

我试图使用ember.js中的'render',我想要做的是指定要呈现的模板内容:

<div>
{{render "content"}}
</div>

<script type="text/x-handlebars" data-template-name="template1"> 
 content 1
<script>

<script type="text/x-handlebars" data-template-name="template2"> 
 content 2
<script>


App.ContentView = Ember.View.extend({
  templateName: validateSomething() ? 'template1' : 'template2',
});

这就是我所拥有的但不起作用,是否有可能成为我正在尝试的东西?其他一些想法??

谢谢!

1 个答案:

答案 0 :(得分:0)

我认为templateName: validateSomething() ? 'template1' : 'template2'不起作用。为什么不使用Handlebars {{#if}}{{/if}}帮助器来确定要呈现的内容(在您的内容模板中)?

更新:这可能会更符合您的目标:

<div>
{{render "content"}}
</div>

<script type="text/x-handlebars" data-template-name="content"> 
  {{#if condition}}
     {{view App.Template1View thisBinding="this"}}
  {{else}}
     {{view App.Template1View thisBinding="this"}}
  {{/if}}
<script>

<script type="text/x-handlebars" data-template-name="template1"> 
 content 1
<script>

<script type="text/x-handlebars" data-template-name="template2"> 
 content 2
<script>

我还没有测试过这个,但它应该足以证明这个想法。