gpt4 book ai didi

Angular:将数据从组件发送到另一个组件

转载 作者:搜寻专家 更新时间:2023-10-30 21:24:52 26 4
gpt4 key购买 nike

我正在学习 Angular,我有这些组件:

MainComponent.ts

import {Component} from 'angular2/core';
import {UsersTableComponent} from './UsersTableComponent';
import {UserAddComponent} from './UserAddComponent';

@Component({
selector: 'main',
templateUrl: '../app/views/mainView.html',
directives: [UsersTableComponent, UserAddComponent]
})

export class MainComponent {
constructor() {}
}

UserAddComponent.ts

import {Component} from 'angular2/core';
import {GenderPipe} from '../pipes/GenderPipe';

@Component({
selector: 'userAdd',
templateUrl: '../app/views/userAdd.html',
pipes: [GenderPipe]
})

export class UserAddComponent {
constructor() {}

addUser() {
alert(1);
}
}

用户表组件

import {Component} from 'angular2/core';
import {UserServices} from '../services/UserServices';
import {User} from '../classes/User';
import {GenderPipe} from '../pipes/GenderPipe';

@Component({
selector: 'usersTable',
templateUrl: '../app/views/usersTable.html',
pipes: [GenderPipe]
})

export class UsersTableComponent {
users: Array<User>

constructor(UserServices: UserServices) {
this.users = UserServices.getUsers();
}
}

在 addUser 方法的 UserAddComponent 上,我需要从模板中读取一些值并通过 UserServices 更新用户。更新时,我需要从 UserTableComponent 调用一个方法,以便使用添加到用户的数据刷新表。

如何从一个组件中调用另一个组件中的方法?

最佳答案

让两个组件的父组件在一个属性中保存users列表,并使用@Input将其传递给两个子组件,这样两者都会在列表出现时使用react变化:

https://angular.io/docs/ts/latest/api/core/Input-var.html

或者你可以用@Output抛出一个事件:

https://angular.io/docs/ts/latest/api/core/Output-var.html

关于Angular:将数据从组件发送到另一个组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34880261/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com