Я могу предположить, что это стабильная стратегия передачи свойств модели вниз, раз она применяется здесь. Есть ли какие-либо нюансы?
Одной из причин, по которой я находил эти доступные точки расширения плагинов менее полезными, было то, что они часто не передают явно соответствующую модель.
Описан ли этот паттерн где-либо? В руководствах по Ember я его не встречал…
Система «raw» — это особенность, специфичная для определённого контекста обсуждения, поэтому в руководствах по Ember вы ничего о ней не найдёте.
Похоже, что в исходном коде это сделано намеренно, поэтому я считаю, что использовать её безопасно:
Более того, похоже, что у «raw»-аутлетов нет возможности передавать что-либо вроде ‘args’, как в обычных plugin-outlets. Поэтому context — это единственный вариант.
Будьте свободны создавать PR для ядра, если считаете, что в обычных plugin outlets не хватает каких-либо полезных данных. Добавление новых аргументов в аутлеты относительно безопасно, обратно совместимо и оказывает незначительное влияние на производительность, поэтому маловероятно, что мы откажемся от такого изменения.
У меня тоже возникали трудности с передачей аргументов в выходы плагинов. Моя цель — разместить выход плагина на странице и обеспечить доступ этого выхода ко всей информации, к которой обращаются другие компоненты на этой странице.
Я попробовал следующее в компоненте темы, который я разрабатываю:
raw-plugin-outlet можно использовать только в шаблонах ‘raw’ (те, что заканчиваются на .hbr). Для обычных шаблонов Ember следует использовать {{plugin-outlet ...}}
РЕДАКТИРОВАНО: Я понял, что нижеизложенное, вероятно, лучше вынести в отдельную тему. Также я осознал, что моя главная проблема заключается в импорте действий компонента в плагин-аутлет. Я задал вопрос об этом здесь:
Существует ли более простой/стандартный способ успешно передавать аргументы в плагин-аутлет?
Например:
Если в шаблоне есть следующая ссылка на компонент composer-action-title, как в этом примере: composer.hbs: