Angular 如何正确使用';routerLink';带模型变量

Angular 如何正确使用';routerLink';带模型变量,angular,angular2-routing,Angular,Angular2 Routing,尝试从绑定到模板类的数据绑定routerLink。根据angular.io文档,模板语法似乎是正确的。已经在应用程序和组件级别尝试了ROUTER_提供程序和ROUTER_绑定(两者仍然是个谜),但都没有成功。我的代码抛出“helpfull”错误:TypeError:linkParams.reduce不是[['ClassDetail',{id:class.\u id}]中的函数] 模板: <div class="container" > <div class="row">

尝试从绑定到模板类的数据绑定routerLink。根据angular.io文档,模板语法似乎是正确的。已经在应用程序和组件级别尝试了ROUTER_提供程序和ROUTER_绑定(两者仍然是个谜),但都没有成功。我的代码抛出“helpfull”错误:
TypeError:linkParams.reduce不是[['ClassDetail',{id:class.\u id}]中的函数]

模板:

<div class="container" >
  <div class="row">
    <div class="col-md-4 block" *ngFor="#class of classes | async">
      <h2>{{class.title}}</h2>
      <p>{{class.description}}</p>
      <p><a class="btn btn-default" routerLink="[ 'ClassDetail', {id: class._id} ]" role="button">View details &raquo;</a></p>
    </div>
  </div>
</div>

你应该用这样的东西

<p>
  <a class="btn btn-default"
     [routerLink]="[ 'ClassDetail', {id: class._id} ]" role="button">
    View details &raquo;
  </a>
</p>

在文件中

它必须配置一个可绑定的输入(这就是为什么需要添加直括号)。这允许为指令提供一个参数。有关更多信息,请参阅属性指令文档中的“使用绑定配置指令”部分:

希望它能帮助你,
Thierry

您必须将
routerLink
括在括号中:
[routerLink]=…
鹰眼Eric,非常感谢!是的,正如Eric指出的,我的语法错了。。。很好,谢谢。
<p>
  <a class="btn btn-default"
     [routerLink]="[ 'ClassDetail', {id: class._id} ]" role="button">
    View details &raquo;
  </a>
</p>