angular2 input和output解析

本文主要介绍了angular2 ng2 @input和@output理解及示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。

angular2 @input和@output理解

先做个比方,然后奉上代码

比如:


登录后复制

input, [talk]=”someExp” 这个标签可以理解为一个专门的监听器,监听父组件传递过来的someExp参数,并存入自身组件的talk变;好像是开了个后门,允许且只允许父组件的someExp进入,一旦进入立刻抓进一个叫talk的牢房,然后子组件中就可以通过@Input来定义这个变量talk然后使用它。

output ,(click)=”eventHandler($event.rating) 这个意思是, 当子组件的click事件被触发,就执行父组件的eventHandler函数,并把子组件的参数$event.rating传递给父组件的eventHandler函数;就好像,当小孩子一哭(执行click事件),他的母亲立刻把他抱在怀里(执行母亲的eventHandler),同时母亲获得了小孩子的一些参数($event.rating)

1、@input()

父组件 father.component.ts 提供数据

import {Component} from "@angular/core";@Component({  selector: "my-father",  templateUrl: "father.html"})export class FatherComponent {  data: Array;  constructor() {    this.data = [      {        "id": 1,        "name": "html"      },      {        "id": 2,        "name": "css"      },      {        "id": 3,        "name": "angular"      },      {        "id": 4,        "name": "ionic"      },      {        "id": 5,        "name": "node"      }    ]  }}

登录后复制

模板文件 father.html

父组件

// 包含子组件, 并使用属性传递数据过去

登录后复制

子组件 child.component.ts 获取数据

import {Component, Input} from "@angular/core";@Component({  selector: "my-child",  templateUrl: "child.html"})export class ChildComponent {    // 使用@Input获取传递过来的数据  @Input()  info: Array;  constructor() {    }}

登录后复制

子组件 child.html模板文件


登录后复制      {{item.name}}  

2、@Output()

子组件three-link.component.ts

1. 引入

import {Component, OnInit, Output, EventEmitter} from "@angular/core";

登录后复制

2. 定义输出变量

export class ThreeLinkComponent {  province: string;  // 输出一下参数  @Output() provinceOut = new EventEmitter();    constructor() {    this.province = "陕西";  } }

登录后复制

3. 事件出发,发射变量给父组件

provinceChange() {  // 选择省份的时候发射省份给父组件  this.provinceOut.emit(this.province);}

登录后复制

父组件模板

登录后复制

父组件

// 函数接受子函数传递过来的变量, 子函数中emit的时候触发这个函数。recPro(event) {  this.province = event;}

登录后复制

相关推荐:

JS实现点击下拉菜单把选择的内容同步到input输入框内的实例

JS点击下拉菜单把选择的内容同步到input输入框内实现方法

使用output标签标注JavaScript返回值的实例分析

以上就是angular2 input和output解析的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2788918.html

(0)
上一篇 2025年3月8日 18:33:16
下一篇 2025年3月2日 19:50:35

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • Angular2页面大小变化

    一、现象 全屏页面中的图表,在很多的时候需要 resize 一把,以适应页面的大小变化,本文主要介绍了Angular2监听页面大小变化的解决方法,需要的朋友可以参考下,希望能帮助到大家。 二、解决 1、引入 : import { Obser…

    编程技术 2025年3月8日
    200
  • input标签输入框带提示文字方法

    本文主要介绍了input 标签实现输入框带提示文字效果(两种方法),需要的朋友可以参考下,希望能帮助到大家。 方法一:html5配合css3实现带提示文字的输入框(摆脱js); webkit特有的一个css,可以控制里面的文字样式,配合cs…

    2025年3月8日
    200
  • Angular2模块懒加载实例详解

    本文主要介绍了浅谈angular2 模块懒加载的方法,小编觉得挺不错的,现在分享给大家,希望能帮助到大家。 当项目变得复杂庞大以后,如果所有页面都在一个模块里,就会出现首页加载慢的问题,因为首页就已经把整个项目加载进来了。所以,很有必要根据…

    2025年3月8日
    200
  • angular2路由预加载实例详解

    本文主要介绍了浅谈angular2路由预加载策略,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。 1.问题描述 在没有使路由懒加载的时候,第一次使用的时候加载特别慢,影响用户体验,angula…

    2025年3月8日
    200
  • javascript代码实现input输入框模糊提示功能

    本文主要和大家介绍javascript input输入框模糊提示功能的实现的相关资料,希望通过本能帮助到大家,需要的朋友可以参考下,希望能帮助到大家。 javascript input输入框模糊提示功能的实现 主要用到了jQuery.aut…

    2025年3月8日
    200
  • input框限定输入值为浮点型代码分享

    本文主要为大家带来一篇对于input 框限定输入值为浮点型的js代码。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。 在一些项目中,比如金额用到浮点型,对于input 限定可以参考以下:  …

    编程技术 2025年3月8日
    200
  • .vue文件中监听input输入事件oninput详解

    .vue文件其实是一个组件,关于它的说明我之前也写过一篇文章,地址:.vue文件,今天这篇文章要讲的是.vue文件中监听input的输入值变化事件。需求是这页面中,改变input的值,就调用一个事件,第一想到的是oninput。本文主要主要…

    2025年3月8日 编程技术
    200
  • js清空input file上传文件的内容代码

    本文主要和大家分享几行js代码,关于js清空input file上传文件的内容如何实现,希望能帮助到大家。 html页面代码如下: 登录后复制 js的代码如下,可以直接将上传文件input按钮的内容直接清空: var obj=documen…

    编程技术 2025年3月8日
    200
  • JS判断input值的实例分享

    如何判断input值?本文主要和大家分享js判断input值的实例,希望能帮助到大家。 通过按钮点击事件驱动,方法document.getElementById()获取input(id)对象,再定义函数,通过判断input的value,提示…

    编程技术 2025年3月8日
    200
  • js实现input输入框点击变大缩小

    本文主要和大家分享js实现input输入框点击变大缩小的实例代码,希望能帮助到大家。 一、input输入框点击变大缩小的js代码 html中 input[type='text'] {width: 100px;height…

    编程技术 2025年3月8日
    200

发表回复

登录后才能评论