问题标签 [ng-upgrade]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
348 浏览

angularjs - Angular cli:在 ngUpgrade 混合项目中包含 angularjs 组件样式

现在我正在转向一个混合 angular/angularjs 项目。但我坚持导入样式问题。

例如,我的简单 angularJs 组件:

我希望样式将被提取并包含在项目中。在我切换到 angular-CLI 之前,所有的魔法都是因为“ MiniCssExtractPlugin ”。

如果我创建角度组件:

所有样式添加正确。同样,如果我使用 angular.json ->

现在我提出了两种解决问题的方法(第一种不起作用,第二种会很紧要关头):

1)"extractCss":trueangular.json -> projects.projectName.architect.serve.options. 但它不起作用。我在 github 上创建了关于选项的问题。"extractCss"但也许我不明白"extractCss"选项的确切含义,并将“MiniCssExtractPlugin”插件功能委托给它?

2) 在 'src/app' 文件夹中创建 'app.less' 并将所有组件样式添加到其中。之后将其包含到 'angular.json' -> "styles": ["src/app/app.less"]。但这需要很多开销,因为我们有很多组件 =)

谢谢关注=)

0 投票
0 回答
48 浏览

angular - 使用 $compile 寻找 angularJs 算法的角度解决方案

我有一个 angularJs 应用程序,我正在迁移到 angular(使用 ngUpgrade),它有一种插件类型架构,可以将额外的“第 3 方”angularjs 模块添加到核心应用程序中。

app 的一个关键特性,是一种“dom 装饰器”操作,基本上是这样工作的:

页面上有一个根组件存在于核心应用程序中,我们称之为

通过配置,有人会添加额外的 angulajs 模块,可以说包含 2 个未知的组件指令,称为dec-adec-b

(这些组件将遵循严格的嵌入合同)

因此根组件将更新其模板,如下所示:

然后它将使用 $compile 更新模板。

所以基本上要求是我需要更新模板以动态添加“未知”组件(它们将被角化,而不是根组件)

通过将插件组件转换为 Web 组件,我确实设法得到了一些工作......使用角度元素,但我真的不喜欢这种方法,它更冗长,如果我有,我不确定性能一个页面上有 50 个这样的根组件,每个组件上都有 5-10 个修饰指令。

蒂亚!/布莱恩

0 投票
1 回答
2021 浏览

angular - 将 Angular 4 升级到 7 http 到 httpclient

目前,我正在使用 webpack 将我的 Angular project4 升级到 Angular7。
我卡在了一步

HttpModuleHttp服务切换到HttpClientModuleHttpClient服务。HttpClient简化了默认的人体工程学(您不再需要映射到 json),现在支持类型化的返回值和拦截器。

关于这一步我需要更换

  • HttpModule=>HttpClientModule
  • Http=> 对于从= > 进行更新,是否有任何脚本可以提供帮助,或者我们需要手动编辑?HttpClient

    HttpHttpClient
    $rxjs-5-to-6-migrate -p src/tsconfig.app.json
0 投票
1 回答
104 浏览

angularjs - 将 AngularJS 绑定升级到 Angular 2

将 AngularJS 控制器升级到 Angular 2。

我想将其转换为 Angular 2 组件

如何更换绑定?

0 投票
1 回答
376 浏览

angularjs - 在 Angular 2 组件中解析访问数据

如何在 Angular 2 迁移组件中解析后访问数据。

我有一个带有路由的 Angular JS app.config,它加载了所需的 Angular 2 迁移组件。

如何从 Angular 2 组件中的解析访问用户

将 Angular JS 控制器迁移到 Angular 2 组件

0 投票
1 回答
1034 浏览

javascript - 使用 Angular 7 在混合应用程序中加载 Angularjs 包

我有一个很大的应用程序,我应用了一些更改以使其成为混合。

如果旧的 Angularjs 应用程序包按时加载,它将正常工作。(这是一个 4-5MB 的捆绑包)我在网上查看了样本,其中大多数只是说同样的话。例如:

https://github.com/manfredsteyer/ngUpgrade-lite-sample/blob/master/src/index.html

这会起作用,因为它是一个小应用程序,他只是手动导入所有模块和组件,而在我的应用程序中有超过 200 个组件是不可能的。

那么在Angular混合应用程序中加载Angularjs应用程序包的最佳方法是什么?

我正在将旧应用程序与 Webpack 4 捆绑在一起,还尝试将其导入main.ts文件中,还尝试了scriptangular.json中,但没有运气,它给了我错误:

未捕获的错误:[$injector:nomod] 模块“应用程序”不可用!

我想这一定是因为在新的 angular 7 引导应用程序之前未加载 angularjs

0 投票
0 回答
752 浏览

angularjs - UpgradeAdapter.registerForNg1Tests 有什么替代方法吗?

我有一个 Angular 混合应用程序,它使用UpgradeModule. AngularJS 组件依赖于降级的 Angular 服务downgradeInjectable。当我对组件进行单元测试时,我看到了这个错误。

错误:实例化可注入的“MyService”时出错:不是有效的“@angular/upgrade”应用程序。

您是否忘记降级 Angular 模块或将其包含在 AngularJS 应用程序中?

我发现UpgradeAdapter.registerForNg1Tests并解决了这个错误。我喜欢这个功能,但UpgradeAdapter据说该模块已弃用。我想使用一些不推荐使用的替代功能,如果存在的话。

0 投票
1 回答
91 浏览

angularjs - @Input 从 AngularJS 获取变量名

我正在尝试将我的 AngularJS 应用程序迁移到 Angular。

我有一些带有绑定的组件需要转换为 Angular

AngularJS 代码:

我的comp.ts:

我的comp.html:

输出:1 2 3

现在我已将 my-comp.ts 从 AngularJS 迁移到 Angular

我的comp.ts:

我的comp.html:

实际输出:“test.data”

预期输出:1 2 3

我正在使用 @Input 与 '=' 和 '<' 进行绑定

我降级了更新的组件,以便它可以在 AngularJS 代码中使用

无需将其写为

更新:

文档

使用 NgUpgrade,我们可以在 AngularJS 模板中使用 Angular 组件(降级)并将带有 [] 的输入作为常规 Angular 输入传递

0 投票
0 回答
22 浏览

angularjs - AngularJS 和 Angular 无需升级 angularjs 代码即可共存

我有一个带有各种控制器/视图/服务和指令的 AngularJS 应用程序。我希望在不修改现有代码的情况下转向角度和打字稿。是否有可能做到这一点?我见过各种示例和论坛,它们将现有的指令/控制器转换为组件。由于我的应用程序很大,因此这对我们来说将是一项巨大的努力。

我的问题与 StackOverflow 上的其他问题不同,因为我不想修改现有的代码库,但希望 Angular 和 AngularJS 代码的代码样式共存。

0 投票
0 回答
2303 浏览

angularjs - 降级 Angular 指令并在 AngularJS 模板中使用它

我正在尝试将 AngularJS 指令转换为 Angular。使用ngUpgrade.

我有 AngularJS 指令如下:

转换为 Angular:

ngAfterViewInit单击时未调用

将上面迁移的指令降级为 AngularJS,以便它可以在 AngularJS 模板中使用

AngularJS 模板:

组件.ts: