2013-05-30 2 views
1

Руль each хелпер используется для перебора списка элементов в базе данных ArrayController.Пустой и не загруженный контроллер Ember.js

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

{{#each item in controller}} 
     <!-- stuff goes here --> 
    {{else}} 
     <!-- other stuff goes here --> 
    {{/each}} 

Это замечательно, но что, если мы хотим, чтобы различать empty и not loaded ? Я чувствую, что это должно быть довольно распространенным случаем, но я не могу понять, как подойти к нему - я ничего не вижу в руководствах. Любая помощь?

ответ

1

В этом случае я просто обернуваю «каждый» «if», чтобы проверить дополнительный аргумент «загружен» на модели.

{{#if content.loaded}} 
    {{#each item in controller}} 
     <!-- stuff goes here --> 
    {{else}} 
     <!-- other stuff goes here --> 
    {{/each}} 
{{/if}} 

«загружаемые» переключается в верно, когда Аякса обещание (или все, что вы делаете) завершается.

Надеюсь, это поможет!

+0

Это в значительной степени делает это! Структура сводится к добавлению '{{else}}' к '{{#if content.loaded}}' для состояния «по-прежнему загрузки». Благодаря! –

0

Для меня с Эмбер 1.8.1, Ember данных 1.0.0-beta11 и итерация hasMany коллекции на модели loaded не работал, а также isLoaded. Дело в том, что было isFulfilled.

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