0

我正在尝试使用 ember.js 中的“渲染”,我想要做的是指定将渲染哪些模板内容:

<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',
});

这就是我拥有但没有工作的东西,是否有可能让我正在尝试?其他一些想法??

谢谢!

4

1 回答 1

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>

我还没有能够对此进行测试,但它应该足以证明这个想法。

于 2013-09-19T22:52:46.170 回答