У меня есть атрибут, определенный в мой контроллер, какEmber атрибут контроллер доступа в общий маршрут/контроллер mxiin
myControllerAttr
Также есть общий Mixin продлен как маршрут/контроллер (my-mixin.js
)
сейчас в my-mixin.js существуют различные методы, которые вызываются из класса маршрута/контроллера
Мой вопрос заключается в этих методах mixin, как мне получить доступ к атрибуту контроллера myControllerAttr
так this.myControllerAttr
не может работать всегда
Это будет зависеть от того, был ли этот метод вызывается из маршрута или контроллера класса
Должен ли я добавить, если условие OR, что является лучшим способом?
Итак, подведем итог, мой вопрос, как я могу проверить между
this.get('myControllerAttr') V/s
this.controllerFor(this.routeName).get('myControllerAttr')
Большое спасибо. У вас есть вопрос очень правильно ... но только одно ... В обоих местах (isRoute & isController) вы проверяете одно и то же ... const isUndefined = typeof this.get ('target') === 'undefined' Пожалуйста, подтвердите – testndtv
Да, идея состоит в том, что она всегда будет проверять, что цель определена, потому что если она есть, вы находитесь в контроллере, если нет, в своем маршруте. Я искал источник на github и проверял маршруты и контроллеры, чтобы найти что-то немного «приятнее», и есть такие свойства, как isController и isRoute и т. Д., Но я не могу легко получить к ним доступ. Но на этот раз все должно быть хорошо. – TameBadger