gpt4 book ai didi

typescript - p-tabMenu 抛出 "No provider for Router!"异常

转载 作者:太空狗 更新时间:2023-10-29 18:26:42 26 4
gpt4 key购买 nike

美好的一天。我想像 primeng 教程中那样创建一个简单的选项卡菜单,我只想显示它。但是我得到“路由器没有提供者!”异常(exception)。这个带有 tabmenu 的 us 组件:

<div class="ui-g">
<h1>Heeey!</h1>
<p-tabMenu ([ngModel])="menuItems"></p-tabMenu>
</div>


@Component({
selector: 'test',
templateUrl: './Views/test.html',
directives: [ROUTER_DIRECTIVES, DataScroller, DataGrid, Panel, TabMenu],
styleUrls: ['../../Styles/EntranceStyle.css'],
providers: [Http, HTTP_PROVIDERS]
})

export class TestComponent implements OnInit {
public _tests: TestModel[] = new Array<TestModel>();
public products: TestModel[] = new Array<TestModel>();

private menuItems: MenuItem[];

ngOnInit() {

this.menuItems = [
{ label: 'Coffee'},
{ label: 'Sweets'},
{ label: 'Salads'},
];
}
}

我在启动时声明了 ROUTER_PROVIDERS:bootstrap(AppComponent, [ROUTER_PROVIDERS, HTTP_PROVIDERS, AUTH_PROVIDERS, provide(LocationStrategy, {useClass: HashLocationStrategy} )] );

最佳答案

首先,您应该更新(两个项目仍在开发中,路由器最近已更改和增强)到最新的 primeng和相应的支持 angular2最新版本;这意味着:primeng-beta9angular2-rc3 (2016 年 7 月)。

然后,您需要创建一个 RouterConfig , 在文件中 app.routes.ts :

export const routes: RouterConfig = [
{path: '/', component: MyComponent}
]

export const APP_ROUTER_PROVIDERS = [
provideRouter(routes)
];

然后将它们添加到 boot.ts :

bootstrap(AppComponent, [
APP_ROUTER_PROVIDERS,
disableDeprecatedForms(),
provideForms(),
provide(LocationStrategy, {useClass: HashLocationStrategy})
]);

AppComponent您需要指定路由器指令:

@Component({
selector: 'my-selector',
templateUrl: 'my.html',
directives: [ROUTER_DIRECTIVES]
})
export class AppComponent {
//... blahblahblah
}

记得加上<base href="/"><head> .

来源:https://angular.io/docs/ts/latest/guide/router.html

关于typescript - p-tabMenu 抛出 "No provider for Router!"异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38200820/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com