2015-02-11 2 views
1

Эй, моя проблема, вероятно, проста, поскольку я новичок в ember и ember-cli, из того, что, как я понимаю, вы просто редактируете HBS-шаблон приложения, содержащий html, IE. app/templates/settings.hbsРедактирование Handlebars шаблоны с ember и ember-cli

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

, например

{{#if controller.name == "settings"}} 
// diff lis 
{else} 
// normal lis 
{#endif} 

самое главное здесь, любые изменения, которые я делать вообще к шаблону HBS кажется, не отражается вживую, любая идея почему?

ответ

0

Ручки не имеют помощника равенства в форме, которую вы разместили. (См this list для списка всех встроенных хелперов.)

Вместо того, что вам нужно сделать, чтобы сделать код работы создать свойство на контроллере:

IsNameSettings: function(){ 
    return this.get('model.name') === 'settings'; 
}.property('model.name'); 

И изменить шаблон использовать это свойство (обратите внимание, что у вас также есть {{/endif}}, который должен быть изменен на {{/if}} [см ссылки выше]):

{{#if controller.IsNameSettings}} 
// diff lis 
{else} 
// normal lis 
{/if} 

Смотрит ли после изменения шаблона рулей на допустимый синтаксис, как я описал результаты я n живое обновление страницы, когда вы ждете живой перезагрузки. Убедитесь, что после сохранения этих изменений вы видите вывод от ember-cli, указывающий успешную сборку. Проверьте выход в терминале по линиям:

version: 0.1.12 
Livereload server on port 35729 
Serving on http://0.0.0.0:4200/ 

Build successful - 8891ms. 
1

В дополнении к @Oren ответа, если вы используете уголек 1.10 вы можете воспользоваться Рулями подвыражений и написать свой собственный eq помощника, который может быть использован в больше ситуаций. Например:

Ember.Handlebars.registerBoundHelper('eq', function(left, right) { 
    return left === right; 
}); 

А затем в шаблоне

{{#if (eq name "settings") }} 
    // diff lis 
{{else}} 
    // normal lis 
{{/if}} 
// ... 
{{#if (eq something otherstuff) }} 
    // show this 
{{else}} 
    // show that 
{{/if}} 

http://emberjs.jsbin.com/mezoxiqavi/1/edit Живая образца