我正在做快速入门教程并遇到一些错误。以下是我的文件结构:
//## home/home.component.ts #################
import {Component} from '@angular/core';
@Component({
selector:'home',
template: `
<div>I'm a home component.</div>
`
})
export class HomeComponent{}
//## home/home.module.ts #################
import {NgModule} from "@angular/core";
import {HomeComponent} from "./home.component";
NgModule({
declarations: [HomeComponent],
exports: [HomeComponent]
});
export class HomeModule {
}
//## app.component.ts #################
import {Component} from "@angular/core";
@Component({
selector: 'app',
template: `
<div>I'm the App Component</div>
`
})
export class AppComponent {}
//## app.module.ts #################
import {AppComponent} from "./app.component";
import {BrowserModule} from "@angular/platform-browser";
import {NgModule} from "@angular/core";
import {HomeModule} from "./home/home.module"; //this breaks it
@NgModule({
declarations: [AppComponent],
bootstrap: [AppComponent],
imports: [BrowserModule, HomeModule] //home module breaks it
})
export class AppModule{}
//## main.ts #################
import {platformBrowserDynamic} from "@angular/platform-browser-dynamic";
import {AppModule} from "./app.module";
platformBrowserDynamic().bootstrapModule(AppModule);
我很困惑,因为这是一个非常简单的例子。 Home模块导致应用程序以某种方式失败。它给出了以下错误:
ZoneAwareErrormessage: "(SystemJS) Cannot set property 'stack' of undefined ...
后面跟着数百行。有没有人对如何调试这些错误有任何想法?
答案 0 :(得分:0)
如果HomeModule是功能模块,请将声明部分更改为declarations: [CommonModule, HomeComponent]
答案 1 :(得分:0)
我得到了同样的错误,这导致该区域在我的模板中发现了一些错误。我在Angular 2.4.1和0.7.4区,尝试升级。
顺便说一下,我已经将模板属性设置为我模板的url,这是有效的,所以,我认为该区域可能有一个bug或者什么。答案 2 :(得分:0)
您必须在HomeModule中导入CommonModule。你的HomeModule代码是这样的:
//Delete disabled elements of lists before submit
$('form').submit(function () {
$('.ignore-desactivated').each(function () {
$(this).children().each(function () {
$(this).removeAttr('disabled');
});
})
})
答案 3 :(得分:0)
我想解决这个问题,但对于遇到同样问题的人,请避免使用快速入门教程并使用angular-cli来生成内容。在开始时它似乎更清晰,更容易理解。
ng new new-project --style=sass
应该把你排除在外。