2015-10-20 2 views
0

Я ниже файл шаблона (на самом деле используется для моего компонента)Ember использовать шаблонные файлы отдельные дочерние

{{#each details.secs as |sec|}} 
    <div class="row"> 
    {{#each secs.flds as |fld|}} 
     // if fld.id is 'abc', use abc.hbs 
     // if fld.id is 'xyz', use xyz.hbs 
    {{/each}} 
    </div> 
{{/each}} 

Мой вопрос, как я могу использовать отдельные файлы суб-шаблона и включить их в выше родительского файла (основанный на условии)

Таким образом, если field.id является «abc», он должен использовать логику рендеринга из abc.hbs Также abc.hbs потребуется входной параметр модели «field» для целей рендеринга (его вывод должен быть добавлен к основной шаблон)

+0

Посмотрите на '{{component}}' помощник. Или просто напишите оператор '{{if}}', используя условие типа '(eq field.id 'abc')'. –

+0

, но как у меня есть отдельные файлы дочерних шаблонов с логикой, написанной внутри этих дочерних файлов. – testndtv

+0

Также см. ['{{Partial}}'] (http://guides.emberjs.com/v1.10.0/templates/rendering- с-helpers /) – 0xcaff

ответ

1

С Ember 2.0, crea тин и регистрации собственных эк (равно) Хелпер супер просто:

ember generate helper eq 

Включите нашу функцию равенства:

// app/helpers/eq.js 


import Ember from 'ember'; 

export function eq(params, hash) { 
    return (params[0] === params[1]); 
} 

export default Ember.Helper.helper(eq); 

и использовать его!

{{#each details.sections as |section|}} 
    <div class="row"> 
    {{#each section.fields as |field|}} 
     {{#if (eq field.id "abc")}} 
      {{abc-component data=field}} 
     {{/if}} 
      {{#if eq field.id "xyz)}} 
      {{xyz-component data=field}} 
     {{/if}} 
    {{/each}} 
    </div> 
    {{/each}} 
+0

Thx много ... В сгенерированном помощнике я уже вижу функцию экспорта eq (..) Так что мне нужно ее заменить? – testndtv

+0

Также const eq = (params) => params [0] === params [1]; похоже, ES6 ... может ли вы предоставить эквивалент ES5? – testndtv

+0

@testndtv var eq = function (arr) {return arr [0] === arr [1] –

Смежные вопросы