如何将在父组件中定义并使用按钮在子组件中访问的变量值更改为 10?
How to change a variable value by 10 which is defined in parent component and accessed in child component using button?
我正在尝试编写一个应用程序,但我不知道如何更改在父组件中定义并在子组件中访问的变量值。
下面是子组件的代码:
这是子组件 HTML 标记:
<p>Child Component Works!</p>
<h2>{{name.name1}}</h2>
<h4>{{name.Money1}}</h4>
<h2>{{name.name2}}</h2>
<h4>{{name.Money2}}</h4>
子组件打字稿代码:
import { Component, EventEmitter, OnInit, Input } from "@angular/core";
@Component({
selector: 'app-child-component',
templateUrl: './child-component.component.html',
styleUrls: ['./child-component.component.css']
})
export class ChildComponentComponent implements OnInit {
@Input() name;
constructor() { }
ngOnInit() {
}
}
Parent-component.html
标记:
<p>
Parent Component
</p>
<app-child-component [name]="data"></app-child-component>
<button>
Send Money To Jack
</button><br><br>
<button>
Send Money To Jill
</button>
Parent-component.ts
代码:
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-parent-component',
templateUrl: './parent-component.component.html',
styleUrls: ['./parent-component.component.css']
})
export class ParentComponentComponent implements OnInit {
data = {
name1:'jack',
Money1:10,
name2:'Jill',
Money2:'15'
}
constructor() { }
ngOnInit() {
}
}
这是完整的代码。下面是输出的屏幕截图:
这是输出。我想要一些功能,当用户点击第一个按钮时,money1 变量增加 10,当用户点击第二个按钮时,money2 变量增加 10:
显示数据的结构不太好,场景有些粗略,但如果您不打算更改 atm,请看这里:
为按钮添加点击功能:
<button (click)="incrementJack()">Send Money To Jack</button>
<button (click)="incrementJill()">Send Money To Jill</button>
在父 ts 中定义它们:
incrementJack(){
this.data.Money1 += 10;
}
incrementJill(){
let amount = parseInt(this.data.Money2) + 10;
this.data.Money2 = amount.toString();
}
注意 money1 是数字,money2 是字符串,所以这个 cod 保留了它们的类型。
我正在尝试编写一个应用程序,但我不知道如何更改在父组件中定义并在子组件中访问的变量值。
下面是子组件的代码:
这是子组件 HTML 标记:
<p>Child Component Works!</p>
<h2>{{name.name1}}</h2>
<h4>{{name.Money1}}</h4>
<h2>{{name.name2}}</h2>
<h4>{{name.Money2}}</h4>
子组件打字稿代码:
import { Component, EventEmitter, OnInit, Input } from "@angular/core";
@Component({
selector: 'app-child-component',
templateUrl: './child-component.component.html',
styleUrls: ['./child-component.component.css']
})
export class ChildComponentComponent implements OnInit {
@Input() name;
constructor() { }
ngOnInit() {
}
}
Parent-component.html
标记:
<p>
Parent Component
</p>
<app-child-component [name]="data"></app-child-component>
<button>
Send Money To Jack
</button><br><br>
<button>
Send Money To Jill
</button>
Parent-component.ts
代码:
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-parent-component',
templateUrl: './parent-component.component.html',
styleUrls: ['./parent-component.component.css']
})
export class ParentComponentComponent implements OnInit {
data = {
name1:'jack',
Money1:10,
name2:'Jill',
Money2:'15'
}
constructor() { }
ngOnInit() {
}
}
这是完整的代码。下面是输出的屏幕截图:
这是输出。我想要一些功能,当用户点击第一个按钮时,money1 变量增加 10,当用户点击第二个按钮时,money2 变量增加 10:
显示数据的结构不太好,场景有些粗略,但如果您不打算更改 atm,请看这里:
为按钮添加点击功能:
<button (click)="incrementJack()">Send Money To Jack</button>
<button (click)="incrementJill()">Send Money To Jill</button>
在父 ts 中定义它们:
incrementJack(){
this.data.Money1 += 10;
}
incrementJill(){
let amount = parseInt(this.data.Money2) + 10;
this.data.Money2 = amount.toString();
}
注意 money1 是数字,money2 是字符串,所以这个 cod 保留了它们的类型。