从一个组件调用函数到另一个组件Angularjs 2 [英] Call function from one component to another component Angularjs 2

查看:29
本文介绍了从一个组件调用函数到另一个组件Angularjs 2的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想将值从一个组件传递到另一个组件.

I want to pass value from one component to another component.

也就是说,我需要将值从仪表板组件传递给标题组件

i.e., I need to pass value from Dashboard Component to Header Component

这是我的仪表板组件

import{Component}from '@angular/core';
import { Header } from '../../layout/header.component';
export class Dashboard{
showAlert(id : any)
  {
      setItem(id);
  }
}

这是我的 Header 组件

import { Component, OnInit } from '@angular/core';
@Component({
  selector: 'header',
  templateUrl: './header.component.html',
})
export class Header{   
  public setItem(id : any)
  {
    console.log('Exported value'+id)
  }
}

但是总是给找不到setItem

我做错了什么,我该如何解决?

What is the mistake i am doing and how can i fix this ?

注意:我在 Angularjs 2 中这样做

Note : I am doing this in Angularjs 2

推荐答案

如果元素引发事件,您可以通过事件绑定来监听它们.参考角度文档 https://angular.io/guide/template-syntax#event-绑定以获得深入的知识.

If the element raises events, you can listen to them with an event binding. Refer to the angular doc https://angular.io/guide/template-syntax#event-binding for in depth knowledge.

仪表板组件

import{Component}from '@angular/core';
import { Header } from '../../layout/header.component';
@Component({
  selector: 'dashboard',
  templateUrl: './dashboard.component.html',
})
export class Dashboard{
  @Output() setItemEvent  = new EventEmitter();

showAlert(id : any)
  {
      this.setItemEvent.emit(id);
  }
}

标题组件

import { Component, OnInit } from '@angular/core';
@Component({
  selector: 'header',
  template: '<dashboard (setItemEvent)="setItem(param)"></dashboard>',
})
export class Header{   
  public setItem(id : any)
  {
    console.log('Exported value'+id)
  }
}

这篇关于从一个组件调用函数到另一个组件Angularjs 2的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆