未捕获错误:没有为组件MyApp指定模板

时间:2016-10-08 19:49:36

标签: ionic2

我正在尝试将离子2 Beta 2代码更新为离子2 RC0,并在app.component.ts文件中收到No template指定错误。

app.component.ts文件的相关部分如下所示:

@Component({
     templateUrl: 'app.html',
})

export class MyApp {
    rootPage: any = HomePage;
    loggedIn:boolean = false;

@ViewChild(Nav) nav: Nav;

root: any;// = HomePage;


constructor() {
    ...

根据更新应用程序以释放离子2候选0的更新说明,app.html文件与app.component.ts文件位于同一目录中,路径为app.html

当运行离子应用程序时,Firefox和Chrome都会抱怨没有为app.component指定模板。

2 个答案:

答案 0 :(得分:47)

我遇到了同样的问题,导致的是一条注释线。即使您在示例中没有包含注释行,我也建议您回答(我认为您没有想到注释行会导致错误)。以下内容产生了与您相同的错误:

@Component({
    //template: `<ion-nav [root]="rootPage"></ion-nav>`  
    templateUrl: 'app.html'
})

我必须进行以下更改才能使编译工作(使用ionic-app-scripts @ 0.0.30时,我觉得问题出现在v0.0.23和v0.0.30之间,但我没有调查):

@Component({
  templateUrl: 'app.html'
  //template: `<ion-nav [root]="rootPage"></ion-nav>`
})

答案 1 :(得分:1)

以通俗易懂的方式,在您的component.ts文件中添加templateURL。遵循以下代码片段:-

@Component({
  selector: 'app-securelogin-receiver',
  templateUrl: './securelogin-receiver.component.html',
  providers: [SecureloginService]
})

在加载组件时会引用该引用,因此其不可用性将引发异常。

  

错误:未为组件指定模板   SecureloginReceiverComponent

以上是我在templateURL不在的情况。