美文网首页我爱编程
angularJS 页面与组件间传值

angularJS 页面与组件间传值

作者: 咔簌 | 来源:发表于2018-03-06 14:37 被阅读0次
  • 页面给组件传值

  1. 页面调用组件 的时候传入数据
    <app-header [msg]="msg"></app-header>
  1. 组件引入 Input 模块,接收页面传过来的数据
   import { Component, OnInit ,Input } from '@angular/core';
  
export class HeaderComponent implements OnInit {
  
   @Input() msg:string
  
}
  • 组件执行页面的方法 -@Input

  1. 页面定义方法
  run(){
      alert('这是页面的 run 方法');
  }
  1. 组件传入方法
  <app-header [msg]="msg" [run]="run"></app-header>
  1. 组件接收传过来的方法
  import { Component, OnInit ,Input } from '@angular/core';
 export class HeaderComponent implements OnInit {
  
   @Input() run:any;
  
   ngOnInit() {
      this.run(); /*组件调用页面的 run 方法*/
   }
  
 }
  • 组件执行页面的方法 -@Output

  1. 组件引入 Output 和 EventEmitter
  import { Component, OnInit ,Input,Output,EventEmitter} from '@angular/core';
  1. 组件中实例化 EventEmitter
  @Output() outer=new EventEmitter<string>();/*用EventEmitter和output装饰器配合使用 <string>指定类型变量*/
  1. 组件通过 outer 实例广播数据
  sendParent(){// alert('zhixing');
  this.outer.emit('msg from child') 
  }
  1. 页面调用组件的时候,定义接收事件 , outer 就是组件的 EventEmitter 对象 outer
   <app-header (outer)="runParent($event)"></app-header>
  1. 页面接收到数据会调用自己的 runParent 方法
 runParent(msg:string){ //接收组件传递过来的数据 
  alert(msg);
}
  • 页面通过局部变量获取组件的引 用 ,主动获取组件的数据和方法(一)

  1. 定义footer组件
   footerRun(){
      alert('这是 footer 子组件的 Run 方法'); 
  }
  1. 页面调用组件的时候给组件起个名字
  <app-footer #footer></app-footer>
  1. 直接获取组件的方法
  <button (click)='footer.footerRun()'>获取子组件的方法</button>
  • 页面通过局部变量获取组件的引 用,通过 ViewChild 主动获取组件的数据和方法

  1. 调用组件给组件定义一个名称
  <app-footer #footerChild></app-footer>
  1. 引入 ViewChild
  import { Component, OnInit ,ViewChild} from '@angular/core';
  
   @ViewChild('footerChild') footer;
  1. 组件中定义一个数据
  public msg="this is child data";
  1. 页面调用自己的方法获得组件的方法或数据
  run(){
      this.footer.footerRun(); //页面执行组件的方法
      alert(this.footer.msg); //页面获取组件的数据
  }

相关文章

  • angularJS 页面与组件间传值

    页面给组件传值 页面调用组件 的时候传入数据 组件引入 Input 模块,接收页面传过来的数据 import { ...

  • vue通信、传值的多种方式

    组件之间传值方式 页面间之间传值方式

  • vue + vuex 全家桶浏览器间数据共享方案

    方案思路: 页面内仍然使用vuex做组件间传值,页面之间使用localstorage传值,并且监听storage事...

  • vue 父子组件间的传值

    vue 中为了避免重复的代码,使页面更简洁,经常使用到组件,使用组件会牵扯到组件间的传值 常用的传值有: 父子间的...

  • 组件与组件、页面之间的通信

    一、props传值 props传值在WePY中属于父组件与子组件之间(包括页面与其子组件之间)传值的一种机制,包括...

  • Flutter页面/组件传值

    父子组件之间的传值 父组件 页面导航打开新页面和返回新页面 导航之间的传值 返回页面传值 创建一个TipRoute...

  • Vue 组件传值

    一、组件间通信传值的各种方式与场景 1、父组件向子组件(跨级)传值 1.1 父组件通过props给子组件传值 1....

  • 组件基础

    组件的入门 组件的私有化 组件的切换 组件间的传值-向组件内传值 组件间传值-向组件外传值 ref获取元素

  • vue 6种通信总结①

    常用vue通信大概有这几种方式进行: 组件间的父子之间的传值 组件间的子父之间的传值 非组件间的组件间的传值(简称...

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

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

网友评论

    本文标题:angularJS 页面与组件间传值

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