2016-10-14 2 views
0

видя какое-то странное поведение, полностью тупик.Вложенный маршрут, обновленная запись получает переопределенную

У меня есть вложенный маршрут, поэтому «route1.show.route2.show». При попадании в route1.show список элементов загружается - и нажатие любого элемента загружает вложенный маршрут для этого элемента.

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

модель крюк Первого маршрута является не вызывается (потому что я использую ресурс в ссылке-к, а не resource.id)

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

Родитель маршрут модель крюк:

model(params) { 
this.get('store').findRecord('resource', params.resource_id); 
} 

Уплотненный маршрут модель крюк:

model(params) { 
    return this.get('store').findRecord('nestedResource', params.nestedResource_id); 
} 

UPDATE: На родительском пути, ассоциация по загружен на запрос. Theres список записей ассоциаций на этом маршруте и список того, что получает переупорядоченный каждый раз, когда загружается вложенная модель маршрута.

+0

Я думаю, что это ожидаемое поведение, если вы не сортируете свою родительскую модель. Новая запись будет удалена, а затем добавлена. – alizahid

ответ

1

На своем родительском маршруте сортируйте модель, чтобы предотвратить загрузку новой нагрузки с помощью заказа.

model() { 
    return this.store.findAll('resource') 
     .then(resources => resources.sortBy('time')) 
} 

Предполагая nestedResource массив типа недвижимости на вашей resource модели.

export default Model.extend({ 
    sortedNestedResource: Ember.computed.sort('nestedResource', 'sortBy'), 
    sortBy: ['date'] 
}) 

Затем используйте sortedNestedResource в шаблоне, вместо nestedResource.

+0

Родительский маршрут - это маршрут показа, и ассоциация загружается по запросу. Итак, моя модель: this.get ('store'). FindRecord ('resource', params.resource_id); Как мне отсортировать записи, загруженные на боковой панели? – neon

+0

Вы упомянули, что «список предметов загружен на route1.show» - сортировка там. Может быть, показать код модели для обоих маршрутов? – alizahid

+0

Обновленный код модели – neon

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