无法绑定到“routerLink”,因为它不是已知的本机属性

Can't bind to 'routerLink' since it isn't a known native property

本文关键字:属性 本机 因为 绑定 routerLink      更新时间:2023-09-26

当我尝试添加哈希定位策略时发生此错误

引导.ts

///<reference path="../typings/browser.d.ts"/>
import { bootstrap } from "angular2/platform/browser";
import { RootComponent } from "./root.component";
import { ROUTER_PROVIDERS, ROUTER_DIRECTIVES, LocationStrategy, HashLocationStrategy} from "angular2/router";
import { PLATFORM_DIRECTIVES, provide, enableProdMode } from "angular2/core";
import { HTTP_PROVIDERS } from "angular2/http";
import { FirebaseService } from "./shared/firebase.service";
import { Environment } from "./config/environment";
if (Environment === "production") {
  enableProdMode();
}

bootstrap(RootComponent, [
  FirebaseService,
  ROUTER_PROVIDERS,
  HTTP_PROVIDERS,
  provide(
    [PLATFORM_DIRECTIVES, {useValue: [ROUTER_DIRECTIVES], multi: true}],
    [LocationStrategy, {useClass: HashLocationStrategy}]
  )
])
  .catch(err => console.error(err));

认为这是因为我同时使用平台指令和位置策略的语法是错误的。有什么线索吗?

PLATFORM_DIRECTIVESLocationStrategy 都需要有单独的provide()

bootstrap(RootComponent, [
  FirebaseService,
  ROUTER_PROVIDERS,
  HTTP_PROVIDERS,
  provide(PLATFORM_DIRECTIVES, {useValue: ROUTER_DIRECTIVES, multi: true}),
  provide(LocationStrategy, {useClass: HashLocationStrategy})
  .catch(err => console.error(err));

您可以尝试以这种方式引导您的应用程序:

bootstrap(RootComponent, [
  FirebaseService,
  ROUTER_PROVIDERS,
  HTTP_PROVIDERS,
  provide(
    PLATFORM_DIRECTIVES, {useValue: [ROUTER_DIRECTIVES], multi: true}),
  provide(LocationStrategy, {useClass: HashLocationStrategy})
])
.catch(err => console.error(err));

看到这个 plunkr: https://plnkr.co/edit/6fXmPi?p=preview