Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Can';t绑定到';routerLink';因为它不是';这不是已知的本地财产_Javascript_Typescript_Angular_Angular2 Routing - Fatal编程技术网

Javascript Can';t绑定到';routerLink';因为它不是';这不是已知的本地财产

Javascript Can';t绑定到';routerLink';因为它不是';这不是已知的本地财产,javascript,typescript,angular,angular2-routing,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, Loc

当我尝试添加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));
///
从“angular2/platform/browser”导入{bootstrap};
从“/root.component”导入{RootComponent};
从“angular2/ROUTER”导入{ROUTER_提供者、ROUTER_指令、LocationStrategy、HashLocationStrategy};
从“angular2/core”导入{PLATFORM_指令,provide,enableProdMode};
从“angular2/HTTP”导入{HTTP_PROVIDERS};
从“/shared/firebase.service”导入{FirebaseService}”;
从“/config/Environment”导入{Environment};
如果(环境=“生产”){
enableProdMode();
}
引导(根组件[
火基服务,
路由器供应商,
HTTP_提供商,
供给(
[PLATFORM_指令,{useValue:[路由器_指令],multi:true}],
[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));

请参见本指南:

对于
平台指令和
定位策略,都需要单独的
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));

嗯,你能检查一下这条线吗?它是我的,不需要hashstrategy
http://stackoverflow.com/questions/35878966/router-directives-in-two-places-for-same-purpose/35880222#35880222
是的,你是对的。我遗漏了你问题的一部分。我认为您没有以正确的方式使用
提供
功能。。。我相应地更新了我的答案。谢谢你的回答,但是居恩特·泽克鲍尔已经回答了同样的问题;oYes,在编辑了我的答案之后,我看到了;-)欢迎您,很高兴看到您找到了问题的答案@甘特更快;-)嗯,然后我在TS lint中得到这个,没有括号
提供的参数与呼叫目标的任何签名都不匹配。
而且它不会编译我更新了我的答案。太好了,谢谢!