按照书中例子P36-38,全文照打,出现了一个很奇怪的错误:
ERROR in F:/Angular2/Angular2my2/src/app/article/article.component.ts (11,12): Cannot find name ‘Article’.
ERROR in F:/Angular2/Angular2my2/src/app/article/article.component.ts (14,24): Cannot find name ‘Article’.
ERROR in F:/Angular2/Angular2my2/src/app/article/article.component.ts (11,12): Cannot find name ‘Article’.
ERROR in F:/Angular2/Angular2my2/src/app/article/article.component.ts (14,24): Cannot find name ‘Article’.
原因:
没有在article.component.ts中引入article.model,导致了组件找不到指定类。
解决方案:
打开
src/app/article/article.component.ts
在第二行,输入:
import { Article } from ‘./article.model’;
其他问题:
1.书中第37页漏了一个花括号:
export class ArticleComponent implements OnInit {
article: Article;
constructor() {
this.article = new Article(
'Angular 2',
'http://angular.io',
10);
}
voteUp(): boolean {
this.article.votes += 1;
return false;
//这里漏了一个花括号
voteDown(): boolean {
this.article.votes -= 1
return false;
}
ngOnInit() {
}
}
2.书本P40页,同样的是没有import的问题。
打开
src/app/app.component.ts
在第二行输入:
import { Article } from ‘./article/article.model’;
3.书本P41-42页,import问题。
问题描述:
ERROR in F:/Angular2/Angular2my2/src/app/article/article.component.ts (15,4): Cannot find name ‘Input’.
ERROR in F:/Angular2/Angular2my2/src/app/article/article.component.ts (15,4): Cannot find name ‘Input’.
解决方案:
打开
article.component.ts
修改内容为:
import { Component, OnInit,
Input//<==添加引用
} from '@angular/core';
import { Article } from './article.model';
@Component({
selector: 'app-article',
templateUrl: './article.component.html',
styleUrls: ['./article.component.css'],
host:{class:"row"}
})
export class ArticleComponent implements OnInit {
// article: Article;
@Input() article:Article;
voteUp():boolean{
this.article.voteUp();
return false;
}
voteDown():boolean{
this.article.voteDown();
return false;
}
ngOnInit();
}
}
小尾巴吐槽:我是真没学过Angular1啊,各种应用规则我都不知道,翻译《Angular权威教程》的大大们不要搞我啊…