Ember.js: Рассмотрите возможность сделать `currentModel` в` Ember.Route` общедоступным

Созданный на 15 июл. 2015  ·  4Комментарии  ·  Источник: emberjs/ember.js

Этот частный API-интерфейс я часто использую в своих приложениях для программного получения модели текущего маршрута. В основном это удобство для this.modelFor(this.routeName) ¹. Это особенно полезно для написания повторно используемого кода маршрута, который должен соответствовать модели текущего маршрута.

¹ Хотя routeName является частным, см. # 11759

Самый полезный комментарий

Звучит хорошо, затем я создам псевдоним в ApplicationRoute который будет просто currentModel: function () { return this.modelFor(this.routeName); } потому что это очень полезно, и жаль, что его не замечают. Но мы продолжим!

Все 4 Комментарий

: +1: супер полезно - когда я вижу в маршруте this.modelFor('a.route.name') мне всегда приходится перепроверять, является ли это именем текущего маршрута или нет. Это устранило бы этот источник путаницы, особенно кажется, что лучше всего использовать действия для обработки маршрута, управляя его собственной моделью, а (в идеале) не какой-либо другой моделью маршрута.

Обсудили это на собрании основной группы сегодня днем ​​и решили, что мы хотели бы сохранить это в тайне. Как вы упомянули, this.modelFor(this.routeName) (я только что вмешался в # 11759, что мы должны сделать this.routeName общедоступным) - хороший способ сделать это с помощью общедоступных API. Вы также можете использовать this.get('controller.model') . Оба эти предложения должны устранить двусмысленность с this.modelFor('a.b.c') , которую упомянул

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

Звучит хорошо, затем я создам псевдоним в ApplicationRoute который будет просто currentModel: function () { return this.modelFor(this.routeName); } потому что это очень полезно, и жаль, что его не замечают. Но мы продолжим!

Была ли эта страница полезной?
0 / 5 - 0 рейтинги