美文网首页
06Angular组件传值

06Angular组件传值

作者: learninginto | 来源:发表于2020-10-16 21:20 被阅读0次

随着项目体系的庞大,任何前端框架都少不了组件之间得通信与传值。

一. 父传子

  1. 在父组件ts中定义一个数据list
export class AppComponent{
    list = ["小明","小张","王麻子"]
}
  1. 在html中使用中括号[]传值
<app-child [list]="list"></app-child>
  1. 在子组件ts中使用@Input接收

记得从@angular/core中引入Input

import {Component,OnInit,Input} from '@angular/core';

export class ChilcComponent implements OnInit {
    //输入list数据
    @Input() list : string[];
}
  1. 在子组件html中可以遍历使用了
<div *ngFor="let item of list">
    {{item}}
</div>

二、子传父

  1. 在子组件中需要用到Output和事件发射器EventEmitter(接上面的例子)
import {Component,OnInit,Input} from '@angular/core';

export class ChilcComponent implements OnInit {
    //输入list数据
    @Input() list : string[];
    //输出 选中下标
    @Output() selectNum = new EventEmitter();
    
    ngOnInit():void{
        
    }
    setCurrent(i){
        this.current = i;
        this.selectNum.emit();
    }
}

html中增加点击事件

<div *ngFor="let item of list; let i = index"
 [ngClass]="{'active' : i === current}"
 (click)="setCurrent(i)">
    {{item}}
</div>
  1. 回到父组件,父组件中订阅的事件被触发

注意,这里接受selectType的事件参数,必须为"$event"

<app-child [list]="list" (selNum)="selectType($event)">
</app-child>
  1. 当然,要在父组件ts中提前订阅好上面的selNum方法
export class AppComponent{
    selectType = "全部"
    list = ["小明","小张","王麻子"];
    selectType(){
        this.selectType = this.list[i];
    }
}
  1. 最后,可以在父组件中肆无忌惮地使用了
<app-child [list]="list"></app-child>
<h3>选中的姓名为:{{selectType  }}</h3>

相关文章

  • 06Angular组件传值

    随着项目体系的庞大,任何前端框架都少不了组件之间得通信与传值。 一. 父传子 在父组件ts中定义一个数据list ...

  • Vue - 传值

    Vue 传值有两种:1)父组件向子组件传值(属性传值,Prop传值)2)子组件向父组件传值 一、父组件向子组件传值...

  • 组件之间的传值

    组件之间的传值,包括父子组件传值,兄弟组件之间的传值,其中父子组件包括父组件向子组件传值和子组件向父组件传值,现在...

  • Vue_组件间传值

    1、父组件传值给子组件2、子组件传值给父组件 1、父组件传值给子组件 2、子组件传值给父组件

  • 2018-09-05

    组件传值问题 父组件给子组件传值应该使用props。子组件要给父组件传值,需要调用父组件传递的方法。props传值...

  • vue2.0 父子组件传值

    父组件传值给子组件 子组件 子组件通过 props 接收值 父组件 父组件通过标签属性传值 子组件传值给父组件 子...

  • Vue父子组件通信和双向绑定

    本篇文章主要介绍父子组件传值,组件的数据双向绑定。 1. 基础父子组件传值 父子组件传值,这是Vue组件传值最常见...

  • (Vue-cli)六、组件间传值(组件间传值&全局状态管理sto

    六、组件间传值 1.父子组件传值 (1) 父传子 父组件向子组件传值,可以通过绑定属性传值;子组件通过props接...

  • vue2.0的三种常用传值方式,并且如何实现?

    vue2.0 组件传值方式有三种:父组件向子组件传值,子组件向父组件传值,非父子组件传值 : 父传子: 首先现在父...

  • Vue.js父子组件传值

    父组件向子组件传值: 子组件向父组件传值:

网友评论

      本文标题:06Angular组件传值

      本文链接:https://www.haomeiwen.com/subject/liytmktx.html