我正在学习角度5,我从angular的官方网站上复制了这个例子。
import {Component} from '@angular/core'
@Component({
selector : "parent-onchange",
template :`
<br>
from parent componenet
<button value="minor" (click)="updateMin()">Minor</button>
<button value="major" (click)="updateMaj()">Major</button>
<child-onchange [major]="sendMaj" [minor]="sendMin"></child-onchange>`
})
export class ParentCompOnChange{
sendMaj : 1;
sendMin : 23;
updateMin(){
console.log("before"+this.sendMin);
this.sendMin++;
console.log(this.sendMin);
}
updateMaj(){
this.sendMaj++;
console.log(this.sendMaj);
}
}
因此,此行console.log("before"+this.sendMin);
给出了未定义的sendMin值,而其他console.logs给出了NAN(在undefined中添加了一个)。
根据官方文件Angular 5,任何人都可以告诉我什么是错的。它应该可以正常工作。
答案 0 :(得分:0)
您需要使用 =
分配值,而不是 :
sendMaj = 1;
sendMin = 23;
答案 1 :(得分:0)
这是你的错误:
sendMaj: 1 // < --- you create type 1
sendMin: 23 //< --- you create type 23
解决方案就是这样创建:
sendMaj: number = 1; // now you create sendMaj type number, value 1
sendMin: number = 23; // now you create sendMin type number, value 23
答案 2 :(得分:0)
试试这个
public sendMaj = 1;
public sendMin = 23;