我正在尝试解决无法使用 UpgradeModule 降级 Angular 8 @Directive 的问题。
我有一个嵌套的角度材质组件,需要挂钩到 cdkScrollable。我的层次结构如下所示:
<div class="some-class-that-allows-scroll"> <-- angularjs scrollable component
<mat-form-field></mat-form-field> <-- angular 8 component that needs cdkScrollable on parent
无法将 cdkScrollable 指令降级以在 angularjs、IE 中工作
<div cdkScrollable class="some-class-that-allows-scroll"> <-- Will not work in angularjs template
<mat-form-field></mat-form-field>
由于我无法降级 cdkScrollable @directive 我试图将该指令“包装”在可重用的 angular 8 组件中,然后降级该组件。
IE:Angular 8 组件:
import { Component } from '@angular/core';
@Component({
selector: 'scroll-wrapper',
templateUrl: './scroll.component.html',
styleUrls: ['./scroll.component.scss']
})
export class ScrollWrapperComponent {
constructor() { }
}
模板:
<div cdkScrollable>
<ng-content></ng-content>
</div>
在 angularjs 模板中使用该降级组件时:
<scroll-wrapper>
<div class="some-class-that-allows-scroll"> <-- angularjs scrollable component
<mat-form-field></mat-form-field> <-- angular 8 component that needs cdkScrollable on parent
</div>
</scroll-wrapper>
但是,当这样做时,可滚动类和 cdkScrollable 指令不会在同一个元素上结束。有没有办法创建一个包装另一个组件的角度 8 组件并将 cdkScrollable 指令应用于被包装的同一元素?