2014-09-12 5 views
1

В приложении ember.js, над которым я работаю (ember v1.8.0-beta1, ember-cli), у меня есть страница с простой формой типа регистрации, которая включает в себя выберите страну. Проблема состоит в том, что, поскольку это поле имеет относительно большое количество опций (точнее, 244), есть большой успех производительности рендеринга, маршрут занимает почти полтора секунды дольше, когда это поле выбора добавляется в шаблон.Ember.Select with unbound options list

Я assummed, что это замедление связанно с Ember, чтобы создавать привязки для каждого из 244 <option> мнений в избранном, так следуя this cookbook entry, что я нашел, я попытался создать несвязанную версию Ember.Select так:

приложение/просмотров/несвязанный-select.js

import Ember from 'ember'; 

export default Ember.Select.extend({ 
    optionView: Ember.SelectOption.extend({ 
     templateName: 'unbound-option' 
    }) 
}); 

приложение/шаблоны/несвязанные-option.hbs

{{unbound view.label}} 

приложение/шаблоны/signup.hbs

... 
{{view "unbound-select" value=country content=countries}} 
... 

Однако, делая это вместо того, чтобы использовать регулярные Ember.Select не похоже, чтобы помочь со скоростью рендеринга вообще. Может быть, что-то, что мне не хватает в моей реализации, что приведет к тому, что все <option> все еще будут связаны?

+0

Прогресс в этом вопросе? – Felix

ответ

0

Видя, что ваше несвязанное расширение Ember.Select так же медленно, я бы рискнул, что Ember.Select просто медленно. От the docs, последний абзац:

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