【问题标题】:Using angular 2 components in angular 1 app without upgrade plugin在没有升级插件的 Angular 1 应用程序中使用 Angular 2 组件
【发布时间】:2016-07-31 20:28:07
【问题描述】:

目前我们有使用 lineman-angular-template、angular 1.5 和 ES5 开发的旧项目

我们需要添加新功能,我想将它们添加为 angular 2 组件。 我们没有时间和金钱来使用 Angular 2 创建新的应用程序。

目标是使用 angular 1 和 ui-routing 导航到新页面并在新页面中插入 angular 2 组件。

是否可以在不使用升级插件并将 angular 2 组件降级为 angular 1 指令的情况下做到这一点?

是否可以让 angular 1 和 augular 2 组件一起运行?

我真的很想利用 Angular 2 变化检测机制等的好处

【问题讨论】:

  • 为什么不想使用升级插件?
  • 所以更新插件,据我了解,将 Angular 2 组件降级为 Angular 1 指令并将它们添加到 Angular 1 应用程序中。但我想有两个应用程序。 Angular 1 应该渲染它自己的组件,Angular 2 也应该这样做

标签: javascript angularjs angular


【解决方案1】:

角度文档write:

成功升级的关键之一是逐步升级,通过在同一个应用程序中并行运行两个框架,并将 Angular 1 组件一个一个移植到 Angular 2。这使得在不中断其他业务的情况下甚至可以升级大型和复杂的应用程序,因为工作可以协作完成并分散在一段时间内。 Angular 2 中的升级模块旨在实现无缝增量升级。

and

当我们使用 UpgradeAdapter 时,我们真正要做的是同时运行两个版本的 Angular。所有 Angular 2 代码都在 Angular 2 框架中运行,而 Angular 1 代码在 Angular 1 框架中运行。这两个都是实际的、功能齐全的框架版本。没有进行仿真,因此我们可以期望拥有两个框架的所有功能和自然行为。

除此之外,一个框架管理的组件和服务可以与另一个框架中的组件和服务进行互操作。这发生在三个主要领域:依赖注入、DOM 和变更检测。

也就是说,升级模块完全符合您的要求。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-11
    • 1970-01-01
    • 1970-01-01
    • 2020-01-27
    • 1970-01-01
    • 2017-09-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多