javascript - 无法绑定(bind)到 'routerLink',因为它不是已知的 native 属性

标签 javascript typescript angular angular2-routing

当我尝试添加 hashlocationstrategy 时发生此错误

boot.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));

关于javascript - 无法绑定(bind)到 'routerLink',因为它不是已知的 native 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36010947/

相关文章:

typescript - 检查 TypeScript 中是否存在内置类型?

c# - 无法将简单的字符串列表数组绑定(bind)到 ListView

javascript - 向表中添加行并更改其背景颜色

javascript - 从 html 字符串中获取列值 - Javascript

node.js - Mongoose 错误: Property 'Buffer' does not exist on type 'typeof globalThis'

javascript - Angular 7 中的 Controller 在哪里,因为它遵循 mvc 架构

javascript - 对象函数中的 this 关键字

Angular 订阅/取消订阅最佳实践

html - 在 Visual Studio Code 的下一行格式化组件属性

angular - Ionic 2/Angular 与 http post 到 laravel api 的问题