#angular #storefront #spartacus-storefront #b2b
#angular #витрина #spartacus-витрина #b2b
Вопрос:
Я пытаюсь создать новый компонент абзаца после выпадающего списка «моя учетная запись» после входа в систему. Я попытался создать компонент после ng-reflect-position=»SiteLogin» в функциях b2b.
В настоящее время используется Spartcus3.0.0-next.3. Где найдено изменение синтаксиса между 2.0 и 3.0.
Созданные шаги: Создан компонент angular, и его модуль был импортирован в app.module.ts
Импортированный импорт { OutletRefModule} из ‘@spartacus / storefront’; в новый модуль компонента
Импортирован вновь созданный компонент в app.component.html
Код компонента
<ng-template [cxOutletRef]=»SiteLogin» cxOutletPos=»перед» let-model>
Привет, этот новый компонент
Я не смог увидеть недавно импортированный компонент абзаца после компонента SiteLogin. Таким же образом в версии 2.0 можно получить компонент с помощью cxOutletRef=»TestComponent», но в версии 3.0 компонент не показан.
Я пропустил какой-либо код? Может кто-нибудь, пожалуйста, помогите, как получить компонент в 3.0
Заранее спасибо.
Комментарии:
1. Работает. Существует проблема в локальном обновлении последней предварительной версии. После установки с последней версией ng он работает нормально.
2. Мы не знаем об этой проблеме, но я рад, что вы смогли ее обойти!
Ответ №1:
Для элементов навигации внутри выпадающего списка нет выхода. Выпадающая навигация сама по себе является компонентом cms, и (в настоящее время) для вас больше нет мелкозернистого выхода.
Однако большинство клиентов будут контролировать навигацию в CMS. Возможно, это стоит учитывать.
Однако ваш код должен создавать код шаблона перед SiteLogin
слотом страницы. Вы можете столкнуться с небольшой проблемой, поскольку вы, похоже, ссылаетесь на переменную SiteLogin
, а не на строку "SiteLogin"
. Вам нужно будет удалить окружающие скобки из cxOutletRef
директивы:
<ng-template cxOutletRef="SiteLogin" cxOutletPos="before" let-model>
template content...
</ng-template>
Комментарии:
1. Я пытался удалить скобки, но они все еще не работают. Пытался показать перед Section1 <ng-template cxOutletRef=»Section1″ cxOutletPos=»before» let-model> Содержимое </ng-template> Либо для SiteLogin, либо для Section1 cxOutletRef не отражает шаблон, по-прежнему не отображающий содержимое. Любая помощь по этому поводу?