关于Angular2

时间:2016-02-03 22:58:14

标签: angular

如果我的angular2应用程序看起来像这样,并且顶部的金发女郎会在右边中间与姜交谈,他们应该组织一个派对吗? tree

发出事件,使用输入输出 - 这是angular2方式?数据应该从子节点传递到父节点到根节点,然后从父节点传递到子节点到点?我是新来的,我经常想要一些全局对象,我可以保留一些所有组件都需要知道的信息。当数据在该全局对象中发生变化时,它应该在它注入的所有其他服务和组件中神奇地改变。例如用户登录/注销,或者如果他点击按钮等等。

import {Injectable} from 'angular2/core';

@Injectable()
export object Globals {
    logged: false,
    showThatDiv: true
}

但我在某处读到它是Angular1,而不是Angular2方式。这样对吗?或者我错了?它看起来不像全球汤,只是全球国家的对象。

例如,现在我有了这个结构:

|-root
  |-google api component
    |-google auth
    |-youtube api
      |-playlists
      |-video
  |-myComponent
    |-sub1
      |-sub2
        |-sub3
  |...

mySub1组件需要知道用户是否已记录,如果是,则显示(* ngIf)sub2中的某个div。或者从mySub3组件调用googleAuth服务中的checkGauth()。从mySub2组件添加视频到YouTube播放列表和onAdded在sub2中显示结果,或从sub3创建新播放列表并在sub2上显示。很多变种。

我很厌倦为所有这些编写代码。它使它更复杂。有时想着这样做:

 |-root
   |-google api component
   |-google auth
   |-youtube api
   |-playlists
   |-video
   |-myComponent
   |-sub1
   |-sub2
   |-sub3
   |...

1 个答案:

答案 0 :(得分:6)

为每个API构建服务是将组件隔离在一起的好方法。在您的情况下,您需要构建一个 GoogleService ,它可以保存您运行应用程序当前状态的上下文。服务可以在需要的时间和地点注入您的组件。

说过在某些情况下我们可以画出细线。在那些情况下,

  1. 消息传递:在您的情况下,通过您的组件传递数据,如果您的父母知道登录并且孩子想知道登录,传递它并且绑定将保持它已更新,以便您可以在您的子组件上可靠地使用它。

  2. 创建帮助,它封装了与您的功能相关的所有功能。使用旧时尚导入引用它并在组件上使用它。

  3.   

    发出事件,使用输入输出 - 这是angular2方式吗?

    是的,这是了解组件需要和组件发出的最佳方式。但这并不难,双向数据绑定让您可以轻松地完成这项工作。

      

    数据应该从子节点传递到父节点,然后传递到根节点   父母对孩子到了什么地步?

    让孩子通过输入从Parent获取数据并返回输出作为回调,Checkout this Blog to see how it is done on a real world app.

    希望有助于您入门。欢迎来到Angular 2,你会喜欢它!