Шаблон руль внутри шаблона

Как я могу создать шаблон внутри шаблона в руле?
Это мои шаблоны:

<script type="text/x-handlebars-template" id="animal-template">
    <div class="locationSelect">
    {{content}}
    </div>
</script>
<script type="text/x-handlebars-template" id="cat-template">
    <div>
    I am cat
    </div>
</script>
<script type="text/x-handlebars-template" id="dog-template">
    <div>
    I am dog
    </div>
</script>

Я хочу загрузить соответствующий шаблон во время выполнения (cat-template или dog-template) внутри animal-template. Как я могу это сделать?

2 ответа

Решение

Частицы могут пригодиться, когда у вас есть кусок шаблона Handlebars.js, который необходимо использовать в нескольких различных контекстах

<script id="people-template" type="text/x-handlebars-template">
  {{#each people}}
    {{> person}}
  {{/each}}
</script>

<script id="person-partial" type="text/x-handlebars-template">
  <div class="person">
    <h2>{{first_name}} {{last_name}}</h2>
    <div class="phone">{{phone}}</div>
    <div class="email"><a href="mailto:{{email}}">{{email}}</a></div>
    <div class="since">User since {{member_since}}</div>
  </div>
</script>

<script type="text/javascript">
  $(document).ready(function() {
    var template = Handlebars.compile($("#people-template").html());
    Handlebars.registerPartial("person", $("#person-partial").html());

    template(yourData);
  }
</script>

http://blog.teamtreehouse.com/handlebars-js-part-2-partials-and-helpers

Вы можете вычислить templateNameСвойство вида элемента в соответствии с отображаемым элементом:

App.AnimalView = Ember.View.extend({
  templateNameBinding: function () {
    var kind = this.get('animal.kind');
    return '%@-template'.fmt(kind);
  }.property('animal.kind')
});

Затем в шаблоне контейнера визуализируйте элементы через их представление:

<script type="text/x-handlebars-template" id="animal-template">
  <div class="locationSelect">
  {{#for animal in content}}
    {{view App.AnimalView animalBinding="animal"}}
  {{/for}}
  </div>
</script>
Другие вопросы по тегам