这是我得到的错误:
没有为组件指定模板PageNotFoundComponent错误:没有为DirectiveNormalizer.normalizeDirective中的组件PageNotFoundComponent指定模板
此模块/组件将用户重定向到主页并在路由不存在时将其记录出来,例如**
这是我的组成部分:
import { Directive} from '@angular/core';
import { Router } from '@angular/router';
import { AuthService } from '../../services/authService/authService';
@Directive({
selector: 'PageNotFoundComponent'
})
export class PageNotFoundDirective {
constructor(_authService: AuthService, _router: Router){
_authService.isAuthenticated().then(() => {
_router.navigate(['/home']);
});
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的模块
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { RouterModule } from '@angular/router';
import { PageNotFoundDirective } from './pageNotFound.directive';
import { AuthService } from '../../services/authService/authService';
@NgModule({
imports: [CommonModule, RouterModule],
declarations: [PageNotFoundDirective],
exports: [PageNotFoundDirective],
providers: [AuthService]
})
export class PageNotFoundModule { }
Run Code Online (Sandbox Code Playgroud)
这是我的路线:
import { Route } from '@angular/router';
import { PageNotFoundDirective } from './index';
export const PageNotFoundRoutes: Route[] = [
{
path: '**',
component: PageNotFoundDirective
}
];
Run Code Online (Sandbox Code Playgroud)
这是我得到的当前错误:
(索引):95错误:(SystemJS)无法编译'PageNotFoundDirective',因为它不是一个组件.错误:无法编译'PageNotFoundDirective',因为它不是一个组件.
Gün*_*uer 25
更新
对于路线,您需要一个组件(这里不能使用指令)
@Component({
selector: 'PageNotFoundComponent',
template: ''
})
Run Code Online (Sandbox Code Playgroud)
原版的
Angular2中没有没有模板的组件
更改
@Component({
Run Code Online (Sandbox Code Playgroud)
至
@Directive({
Run Code Online (Sandbox Code Playgroud)
你应该得到你想要的东西.
组件是具有视图的指令.
| 归档时间: |
|
| 查看次数: |
13842 次 |
| 最近记录: |