Angular2主持人:{' [routerLink]':' / foo' }

时间:2016-03-23 06:28:10

标签: angular angular2-routing

我尝试使用 @ Component.host。&#39; [routerLink]&#39; 声明将routerLink属性绑定到a元素,但它崩溃了:< / p>

  

EXCEPTION:错误:未捕获(在承诺中):模板解析错误:   无法绑定到“routerLink”&#39;因为它不是一个已知的原生财产(&#34; [错误 - &gt;]&#34;):HostMatch @ 0:0

适用于template: '<a [routerLink]="['/Matches', 'MatchesDetail', { match: id }]">{{id}}</a>'

组件代码:

import { RouterLink } from 'angular2/router'

@Component({
    directives: [RouterLink],
    selector: 'a[match]',
    template: `{{id}}`,
    host: {
        '[routerLink]': "['/Matches', 'MatchesDetail', { match: id }]"
    }
})

关键是要像这样得到HTML:

<a href="/matches/1234">1234</a>

而不是:

<match><a href="/matches/1234">1234</a></match>

我错了什么?感谢。

1 个答案:

答案 0 :(得分:0)

使用routerLink这种方式无效。不支持以这种方式使用routerLink。它是一个添加到元素标记的指令,而不是一些特殊的绑定语法。

host: {
    '[routerLink]': "['/Matches', 'MatchesDetail', { match: id }]"
}