如何从Angular Router v3扩展[routerLink]
指令,以便我自己包装一些自定义功能?我已经看了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
,则无误地运行。我做错了什么?
答案 0 :(得分:0)
我需要同样的东西。使用您的信息,我可以使其正常运行。这是缺少的内容:
Range("D" & X).EntireRow.Delete
父routeLink指令期望this.href和this.routerLink保留DOM属性中的数据。现在看起来像这样:
@Input() mgiRouterLink: string ngOnInit()
ngOnInit() {
this.href = this.routerLink = this.mgiRouterLink
}