首页 > 其他分享 >Angular父子组件传值

Angular父子组件传值

时间:2022-08-18 11:13:18浏览次数:82  
标签:src app item Output 组件 Input Angular 传值

Angulr Core内置的@input  @output方法可以完成父子组件之间的传值。

配置子组件

要使用 @Input() 装饰器,首先要导入 Input,然后用 @Input() 装饰该属性。后面用 @Output() 装饰一个属性。下面的例子中 newItemEvent 这个 @Output() 的类型为 EventEmitter,这意味着它是一个事件。如下例所示。

在子组件src/app/item-detail/item-detail.component.ts中:

import { Component, InputOutput, EventEmitter } from '@angular/core'; // import Input,Output, EventEmitter

export class ItemDetailComponent {

    @Input() item = ''; // decorate the property with @Input()

    @Output() newItemEvent = new EventEmitter<string>();

     addNewItem(value: string) {

         this.newItemEvent.emit(value);

     }

}

配置子组件的模板

在子组件模板src/app/item-output/item-output.component.html中:

<label for="item-input">Add an item:</label>

<input type="text" id="item-input" #newItem>

<button type="button" (click)="addNewItem(newItem.value)">Add to parent's list</button>

配置父组件

在父组件src/app/app.component.ts中添加条目:

export class AppComponent {

    currentItem = 'Television';

    items = ['item1', 'item2', 'item3', 'item4'];

    addItem(newItem: string) { 

         this.items.push(newItem);

    }

}

配置父组件的模板

在父组件模板src/app/app.component.html中使用子组件选择器:

<app-item-output [item]="currentItem" (newItemEvent)="addItem($event)"></app-item-output>

<ul> <li *ngFor="let item of items">{{item}}</li> </ul>

总结:

item和newItemEvent是子组件类中的 @Input() 和 @Output() 属性。currentItem属性和addItem()方法都位于父组件类中。


标签:src,app,item,Output,组件,Input,Angular,传值
From: https://www.cnblogs.com/wujx9/p/16597985.html

相关文章

  • 当使用cube-ui的scroll组件进行scrollTo()滚动的时候,iphone手机上失效的解决办法
    在使用cube-ui的scrollTo()进行页面的滚动时,安卓和浏览器都是正常的,但是在iphone的手机上不能滚动经过排查发现是cube-ui的版本问题,当使用1.12.47版本的时候会出现这个问题......
  • 【谷粒商城】(二)SpringCloudAlibaba分布式组件
    微服务分布式组件注册中心:每一个微服务上线都应该注册到注册中心。这样做的好处在于方便微服务之间的相互调用,比如订单服务想要调用商品服务,就可以通过注册中心查看有哪......
  • JSP和servlet之间的相互传值
    1.从一个jsp页面跳转到另一个jsp页面时的参数传递(1)使用request对象获取客户端提交的信息login.jsp页面代码如下:点击查看代码<%@pagelanguage="java"import="java......
  • vue3+vite3打包组件的踩坑心得
    1.再要做CDN的JS文件的时候要使用  rollup-plugin-external-globals这个插件,但是不做CDN的时候要关闭注释掉,不然引入插件后可能会报一些依赖库的全局变量未声明的错误,......
  • 关系不明组件间的通信PubSub(发布订阅的使用步骤+ps源码)
    1、安装  npmipubsub-js2、在main.js中引入并加入到全局  3、在组件中发布:使用publish(自定义名称,传参)  4、在组件中接收:在mounted中使用subscribe,在befor......
  • 前后端传值总结
    先讲下后端给前端传值,也就是controller跳到html页面时,向html传值的过程,一般2种方法。1.用Model//举个例子@RequestMapping("/toAgentInput")publicStringtoA......
  • 【快应用】input组件的输入框弹出后,如何点击其他地方后失去焦点,并收起键盘
    可以在input组件最外面的div上写一个收起键盘的事件。 代码如下(关注加粗的内容): <template>  <div class="item-container">    <div class="item-containe......
  • ExtJS - UI组件 - MessageBox
    更新记录转载请注明出处:https://www.cnblogs.com/cqpanda/p/16587505.html2022年8月17日发布。2022年8月13日从笔记迁移到博客。ExtJS教程汇总:https://www.cnblog......
  • vue学习之------动态组件
    vue提供了一个组件的占位符 ————<component:is="组件名"></component>,用来实现动态切换组件的显示与隐藏父组件中:  如果希望切换组件时,不要销毁组件,可以......
  • Vue组件的继承用法
    Vue组件的继承用法点击打开视频讲解vue组件的继承适用于UI几乎一样,只是数据不一样的情况下,但是这种情况通过统一封装组件也是能实现的,小功能建议用封装,大功能建议用组件......