#javascript #ember.js #ember-cli
#javascript #ember.js #ember-cli
Вопрос:
В Ember 1.13 у меня есть компонент, который использует Ember.computed.sort:
export default Ember.Component.extend({
sortedItems: Ember.computed.sort("allItems", function(a, b) {
//How to access columnList from here?
}
columnList: ["name","shortcode"]
})
Мне нужно получить доступ к свойству columnList компонента, чтобы настроить поведение функции сравнения, предоставляемой Ember.computed.sort. Как получить доступ к списку столбцов внутри функции сравнения в месте, указанном в приведенном выше коде?
Комментарии:
1.
columnList
свойство находится внутри вашегоcomponent
илиcontroller
?2. @rinoldsimonI действительно считает, что это ниже
component
, как указано вышеexport default Ember.Component.extend({ columnList: ["name","shortcode"] })
3. @Mikelemuel работает ли приведенное ниже решение?
4. @rinoldsimon я могу подтвердить, список столбцов — это свойство внутри компонента
5. @Mikelemuel Я обновил ответ примером twiddle. Пожалуйста, проверьте ответ, если он покажется вам полезным. Спасибо
Ответ №1:
Если cloumnList
свойство находится в том же, component
где вы используете Ember.computed.sort
, просто используйте this.get('columnList');
для доступа к columnList
свойству
...
sortedItems: Ember.computed.sort("allItems", function(a, b) {
this.get('columnList');
}),
...
Комментарии:
1. это не работает, это что-то другое, чем компонент
2. это не компонент внутри функции сортировки. Вот пример этого: pasteboard.co/I67ALEC.jpg
3. Это проблема с вашей устаревшей версией ember? В последней версии это работает так, как описано в ответе: ember-twiddle.com/692f836557dbca2fb50d99e36aa6fb6f