this.value在角度5中给出undefined

时间:2018-03-17 18:54:44

标签: angular angular5

我正在学习角度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,任何人都可以告诉我什么是错的。它应该可以正常工作。

3 个答案:

答案 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;