如何[routerLink]
从 Angular Router v3 扩展指令,以便我可以自己包装一些自定义功能?我查看了RouterLinkWithHref
指令,看来这就是我想要扩展的内容,所以我制作了这个:
扩展路由器链接指令
import {Directive, Input} from '@angular/core';
import {RouterLinkWithHref} from "@angular/router";
import {Model} from "../Classes/Model.class";
@Directive({
selector: 'a[extendedRouterLink]'
})
export class ExtendedRouterLinkDirective extends RouterLinkWithHref {
@Input('extendedRouterLink') model : Model;
// Future custom logic
}
我尝试像这样使用它:
<a [extendedRouterLink]="model">
我将它包含在directives
我的组件数组中:
...
directives: [ROUTER_DIRECTIVES, ExtendedRouterLinkDirective],
...
然而,我收到以下运行时错误:
“模板解析错误:无法绑定到‘extendedRouterLink’,因为它不是已知的本机属性”
如果我extends RouterLinkWithHref
从我的指令中删除,它可以正常工作。我究竟做错了什么?