无法阅读财产'导航'未定义的错误

时间:2017-11-09 08:08:29

标签: angular typescript

下面是我的导航代码

         export class AppComponent {
           router:Router
            doSwipe(direction: string){

               this.router.navigate(['/article']);
            }
       }

我无法阅读财产'导航'未定义的错误.pls有助于解决它

5 个答案:

答案 0 :(得分:12)

您需要注入路由器,而不仅仅是将其声明为属性

constructor(private router: Router) {}

答案 1 :(得分:1)

您需要在构造函数中注入Router

export class AppComponent {
    constructor(
        private router: Router
    ) {}

    doSwipe(direction: string) {

        this.router.navigate(['/article']);
    }
}

答案 2 :(得分:0)

您需要在 constructor

中注入路由器
constructor(
     private router: Router
){

}

答案 3 :(得分:0)

在我的情况下,我使用@Inject注释将路由器注入了构造函数中。

constructor(@Inject(Router) private router: Router) {}

答案 4 :(得分:0)

有点旧,但就我而言,我得到了 Fabio 的回答, 但忘记添加@autoInject()

所以你必须添加

import { autoinject } from 'aurelia-framework';

@autoinject()
export class YourClass {
     
     constructor(private router: Router) {}

}