[英]What's the difference between inheriting an angular component from an Abstract Class versus an Abstract Component?
我正在尝试重用在各种视图组件中使用的某些业务逻辑和属性。 我创建了一个具有所需属性和函数的抽象 class 并在我的组件中继承了它。 效果很好。 我还创建了一个带有空模板的抽象组件,然后将我的业务逻辑移到了这里。 继承这个抽象组件也没有任何问题吗? 哪种方法是正确的?
方法一:
export abstract class GridViewBase implements IFilterView {
// Bla bla
}
然后在我的组件中:
@Component({
selector: 'order-view',
templateUrl: './order-view.component.html',
styleUrls: ['./order-view.component.css']
})
export class OrderViewComponent extends GridViewBase implements AfterContentChecked, OnInit {
}
方法二:
抽象组件:
@Component({
template: ''
})
export abstract class BaseComponent {
查看组件:
@Component({
selector: 'order-view',
templateUrl: './order-view.component.html',
styleUrls: ['./order-view.component.css']
})
export class OrderViewComponent extends BaseComponent implements AfterContentChecked, OnInit {
}
两者都有效? 哪个是对的?
使用其中任何一个都有完全正当的理由。
在以下情况下,我会使用抽象组件或组件 inheritance:
在以下情况下,我会使用 Abstract 或 class 继承:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.