【问题标题】:After death of few Angular1 componets, The rest remain Same?在少数 Angular 1 组件死亡后,其余的保持不变?
【发布时间】:2015-05-09 03:13:16
【问题描述】:

我只是想知道,是不是像去掉了几个组件后一样:

其他组件的其余部分将保持不变,因为上图中未提及

喜欢:

  1. 服务,
  2. 事件(广播、发射、开启)
  3. 运行块
  4. 常数
  5. 配置
  6. 还有很多其他的。

希望上面的问题是有效的,如果是这样,请告诉我还剩下什么,这样我在学习/适应新的 angular 2 时感觉更容易。

打字稿:

我已经看到 typescript 中面向类的块变化的变化 喜欢:

      class MyComponent {
          constructor() {
              this.name = 'Max'
          }
          sayMyName() {
              console.log('My name is', this.name)
          }
      }

是不是指常用的DOM操作函数比如

  1. document.getElementBy
  2. window对象
  3. 其他事情在一定程度上也一样吗?

请给我一些关于 Typescript 改变了多少的参考​​或想法

【问题讨论】:

    标签: javascript angularjs typescript


    【解决方案1】:

    问题一:

    高级抽象仍然是相同的(控制器、指令、服务),但随着框架用 TypeScript 重写,所有实现细节都发生了变化。

    例如,Angular 模块将被 ES6 原生模块取代,这意味着运行块、常量和配置将不相关。但是,由于他们保持依赖注入,因此必须存在某种配置方式,因此您可以在 config 和 run 中执行的任何操作仍然是可行的。

    问题 2:

    您可能将 TypeScript 与 JavaScript 混淆了。前者一直都有这样的语法(在某种程度上,下一版本的 JavaScript(ES6/harmony)也会如此)。

    但是,语言更改不会影响您使用框架的方式,因为 TypeScript 应该是 JavaScript 的超集,因此大多数有效的 JS 也是有效的 TS。如果您不想使用,则不必使用特定于 TypeScript 的功能。

    【讨论】:

      【解决方案2】:

      根据我对 angular 2 如何组合在一起的理解,这就是我认为其他部分组合在一起的方式。

      免责声明

      • 我不是该项目的开发人员,只是一个努力跟上正在开发的项目的人。
      • Angular 2 的当前状态是 alpha/开发者预览版,可以/将会随着开发的进展而改变

      概述

      随着 angular 1.* 的成熟度不断提高,使用传统 JavaScript 模式(参见 controllerAs、bindToController、无全局控制器)有了明显的转变,通过遵循该约定,您的 angular 1.* 代码将更接近 angular 2. 在准备 Angular 2 时,另一个可以帮助您的动作是从组件的概念(指令 + 注入服务的控制器)中考虑您的应用程序。

      服务

      这些是可以注入组件的类

      事件(广播/发射)

      这些是基于继承的 $scope 模型的 pub/sub 实现,不会出现在 Angular 2 中,因此需要实现另一个事件模型。我没有听到 Angular 团队讨论过这个问题,所以要么耐心等待,要么选择另一个 pub/sub 模型来实现。

      运行块

      当应用程序运行时,angular 2 是基于组件的,这与根组件的构造函数(被引导的那个)直接相关

      常量

      angular 1 中的常量只是可以注入到其他组件中的值,这里没有任何改变,值可以注入到 angular 2 中的组件中。

      配置

      随着 Angular 模块系统代替 ES6 模块的消失,配置的想法(初始化服务的值)可以在服务的构造函数中完成。此外,Angular 2 将支持延迟加载附加组件的想法,因此可以在以后以及在应用程序启动时进行配置

      参考文献

      【讨论】:

        猜你喜欢
        • 2022-10-11
        • 2020-11-16
        • 1970-01-01
        • 2022-12-17
        • 2011-04-20
        • 1970-01-01
        • 2012-08-06
        • 2014-02-16
        • 1970-01-01
        相关资源
        最近更新 更多