未捕获的错误:没有为组件 MyApp 指定模板
Posted
技术标签:
【中文标题】未捕获的错误:没有为组件 MyApp 指定模板【英文标题】:Uncaught Error: No template specified for component MyApp 【发布时间】:2017-02-17 14:25:42 【问题描述】:我正在尝试将我的 ionic 2 Beta 2 代码更新为 ionic 2 RC0,并在我的 app.component.ts 文件中收到 No template specified 错误。
app.component.ts 文件的相关部分如下所示:
@Component(
templateUrl: 'app.html',
)
export class MyApp
rootPage: any = HomePage;
loggedIn:boolean = false;
@ViewChild(Nav) nav: Nav;
root: any;// = HomePage;
constructor()
...
根据更新应用程序以发布 ionic 2 的候选版本 0 的更新说明,app.html 文件与 app.component.ts 文件位于同一目录中,路径为 app.html
在运行 ionic 应用时,Firefox 和 Chrome 都抱怨没有为 app.component 指定模板。
【问题讨论】:
【参考方案1】:通俗地说,在您的 component.ts 文件中添加 templateURL。按照代码sn-p如下:-
@Component(
selector: 'app-securelogin-receiver',
templateUrl: './securelogin-receiver.component.html',
providers: [SecureloginService]
)
在组件加载时被引用,因此它的不可用会引发异常。
错误:没有为组件指定模板 SecureloginReceiverComponent
除了我在 templateURL 缺席时遇到的异常。
【讨论】:
【参考方案2】:我遇到了同样的问题,原因是注释行。即使您的示例中没有包含注释行,我也建议您使用该答案(我认为您没有想到注释行会导致错误)。以下产生了与您相同的错误:
@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>`
)
【讨论】:
谢谢,你到底是怎么想出来的?所以它只出现在 Ionic 中吗? - Angular 应用不受此影响? 我偶然解决了这个问题,但我花了一两个小时才弄清楚:-)。我不知道 Angular 2 应用程序是否存在类似问题,因为我只测试了 Ionic 2 应用程序。由于我认为问题来自 ionic-app-script,我只能建议保持更新。 Ionic 团队在过去几周对其进行了很多改进,但我没有机会对其进行测试以检查问题是否仍然存在。 Angular 2 中存在同样的错误,删除注释清除错误。 2018 年 3 月 28 日,我刚刚遇到了这个 :( 错误,我正在使用 ionic 3,我追了 3 个小时,为什么我的页面特定上下文菜单按钮没有出现在这个项目中。猜猜我用的是什么模板:所以我把它注释掉,瞧我又遇到了 4 小时的噩梦错误。以上是关于未捕获的错误:没有为组件 MyApp 指定模板的主要内容,如果未能解决你的问题,请参考以下文章
Angular 2 测试组件给出“错误:未捕获(承诺):错误:模板解析错误”
未捕获的错误:元素类型无效:预期为字符串(对于内置组件)或类/函数(对于复合组件)但得到:对象
未捕获的错误:模板解析错误:'mat-label' 不是已知元素: