我正在尝试使用 Angular CDK Stepper 创建一个通用步进器组件,如此处提到的https://material.angular.io/guide/creating-a-custom-stepper-using-the-cdk-stepper。
我想使用 ngTemplateOutlet 通过模板引用传递步进器的页眉和页脚模板。
当我将按钮中的 cdkStepperPrevious、cdkStepperNext 传递给模板时,模板不起作用。
代码可以在这里找到https://stackblitz.com/edit/angular-bgyqqz-r8axmr
<ng-template #stepperHeader>
<header>
<h2> Header</h2>
</header>
</ng-template>
<ng-template #stepperFooter>
<button class="example-nav-button" cdkStepperPrevious>Next</button>
<button class="example-nav-button" cdkStepperNext>Previous</button>
</ng-template>
<example-custom-stepper [headerTemplate]="stepperHeader" [footerTemplate]="stepperFooter">
<cdk-step> <p>This is any content of "Step 1"</p> </cdk-step>
<cdk-step> <p>This is any content of "Step 2"</p> </cdk-step>
</example-custom-stepper>
and in my example-custom-stepper component
<section class="example-container">
<ng-container [ngTemplateOutlet]="headerTemplate"></ng-container>
<div [style.display]="selected ? 'block' : 'none'">
<ng-container [ngTemplateOutlet]="selected.content"></ng-container>
</div>
<footer class="example-step-navigation-bar">
<ng-container [ngTemplateOutlet]="footerTemplate"></ng-container>
</footer>
</section>
错误
preview-4adb70f742b91f09679fb.js:1 错误错误: StaticInjectorError(AppModule)[CdkStep -> CdkStepper]: StaticInjectorError(Platform: core)[CdkStep -> CdkStepper]: NullInjectorError: No provider for CdkStepper! 在 NullInjector.get (injector.ts:43) 在 resolveToken (injector.ts:346) 在 tryResolveToken (injector.ts:288) 在 StaticInjector.get (injector.ts:168) 在 resolveToken (injector.ts:346) 在tryResolveToken (injector.ts:288) 在 StaticInjector.get (injector.ts:168) 在 resolveNgModuleDep (ng_module.ts:125) 在 NgModuleRef_.get (refs.ts:507) 在 resolveDep (provider.ts:423)