委托:EventEmitter或可观察到的角度

委托:EventEmitter或可观察到的角度

我试图用角度来实现类似于委托模式的东西。当用户单击nav-item,我想调用一个函数,然后发出一个事件,然后由其他侦听事件的组件来处理。

下面是场景:我有一个Navigation构成部分:

import {Component, Output, EventEmitter} from 'angular2/core';@Component({
    // other properties left out for brevity
    events : ['navchange'], 
    template:`
      <div class="nav-item" (click)="selectedNavItem(1)"></div>
    `})export class Navigation {

    @Output() navchange: EventEmitter<number> = new EventEmitter();

    selectedNavItem(item: number) {
        console.log('selected nav item ' + item);
        this.navchange.emit(item)
    }}

以下是观察部分:

export class ObservingComponent {

  // How do I observe the event ? 
  // <----------Observe/Register Event ?-------->

  public selectedNavItem(item: number) {
    console.log('item index changed!');
  }}

关键问题是,如何使观察组件观察到所讨论的事件?


慕虎7371278
浏览 521回答 3
3回答

慕慕森

如果一个人想要遵循一种更多的面向反应的编程风格,那么“一切都是流”的概念就会出现在画面中,因此,尽可能多地使用可观察到的方法来处理这些流。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python