2015-07-07 2 views
0

В моем шаблоне я пытаюсь использовать Ember.Select. Ember.Select работает без атрибута | свойства. Но когда я определяю содержание атрибута, он дает мне ошибку, какEmber.Select in emblemjs

Uncaught Error: assertion failed: an Ember.CollectionView's content must implement Ember.Array. You passed countries 

Мой шаблон эмблема выглядит следующим образом,

Ember.Select  // Works fine 
Ember.Select content=countries //Gives the listed error 

Код в App.IndexController есть,

countries : function() { 
    return ["India","US","England"]; // I have also tried passing the value in Ember.A(array_val) 
}.property('') 

ответ

4

I «Не знаком с эмблемой, но в первую очередь, вероятно, стоит попытаться создать выбор в соответствии с API documentation и определить countries как литерал.

countries : ["India","US","England"], 

Однако я думаю, что ваша проблема в том, что вы определяете его как .property('') называется ничего. Если вы не хотите переименовывать свою собственность, просто установите ее так: .property(), или если вы хотите назвать ее чем-то другим .property('countriesCollection'). Это позволит вам использовать countriesCollection в ваших шаблонах.

Вы также должны взглянуть на computed properties, так как предположительно вы хотите что-то сделать для своего массива (в противном случае это может быть и литерал).

С другой стороны, Ember 1.13 имеет deprecated просмотров, поэтому на самом деле вы должны перейти к подходу, основанному на компонентах, вместо использования представлений и контроллеров. Существует хороший компонент select под названием x-select, который совместим с API-интерфейсом Ember.Select.

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