问题标签 [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.
angularjs - Angular cli:在 ngUpgrade 混合项目中包含 angularjs 组件样式
现在我正在转向一个混合 angular/angularjs 项目。但我坚持导入样式问题。
例如,我的简单 angularJs 组件:
我希望样式将被提取并包含在项目中。在我切换到 angular-CLI 之前,所有的魔法都是因为“ MiniCssExtractPlugin ”。
如果我创建角度组件:
所有样式添加正确。同样,如果我使用 angular.json ->
现在我提出了两种解决问题的方法(第一种不起作用,第二种会很紧要关头):
1)"extractCss":true
在angular.json -> projects.projectName.architect.serve.options
. 但它不起作用。我在 github 上创建了关于选项的问题。"extractCss"
但也许我不明白"extractCss"
选项的确切含义,并将“MiniCssExtractPlugin”插件功能委托给它?
2) 在 'src/app' 文件夹中创建 'app.less' 并将所有组件样式添加到其中。之后将其包含到 'angular.json' -> "styles": ["src/app/app.less"]。但这需要很多开销,因为我们有很多组件 =)
谢谢关注=)
angular - 使用 $compile 寻找 angularJs 算法的角度解决方案
我有一个 angularJs 应用程序,我正在迁移到 angular(使用 ngUpgrade),它有一种插件类型架构,可以将额外的“第 3 方”angularjs 模块添加到核心应用程序中。
app 的一个关键特性,是一种“dom 装饰器”操作,基本上是这样工作的:
页面上有一个根组件存在于核心应用程序中,我们称之为根
通过配置,有人会添加额外的 angulajs 模块,可以说包含 2 个未知的组件指令,称为dec-a和dec-b
(这些组件将遵循严格的嵌入合同)
因此根组件将更新其模板,如下所示:
然后它将使用 $compile 更新模板。
所以基本上要求是我需要更新模板以动态添加“未知”组件(它们将被角化,而不是根组件)
通过将插件组件转换为 Web 组件,我确实设法得到了一些工作......使用角度元素,但我真的不喜欢这种方法,它更冗长,如果我有,我不确定性能一个页面上有 50 个这样的根组件,每个组件上都有 5-10 个修饰指令。
蒂亚!/布莱恩
angular - 将 Angular 4 升级到 7 http 到 httpclient
目前,我正在使用 webpack 将我的 Angular project4 升级到 Angular7。
我卡在了一步
从
HttpModule
和Http
服务切换到HttpClientModule
和HttpClient
服务。HttpClient
简化了默认的人体工程学(您不再需要映射到 json),现在支持类型化的返回值和拦截器。
关于这一步我需要更换
HttpModule
=>HttpClientModule
Http
=> 对于从= > 进行更新,是否有任何脚本可以提供帮助,或者我们需要手动编辑?HttpClient
Http
HttpClient
$rxjs-5-to-6-migrate -p src/tsconfig.app.json
angularjs - 将 AngularJS 绑定升级到 Angular 2
将 AngularJS 控制器升级到 Angular 2。
我想将其转换为 Angular 2 组件
如何更换绑定?
angularjs - 在 Angular 2 组件中解析访问数据
如何在 Angular 2 迁移组件中解析后访问数据。
我有一个带有路由的 Angular JS app.config,它加载了所需的 Angular 2 迁移组件。
如何从 Angular 2 组件中的解析访问用户
将 Angular JS 控制器迁移到 Angular 2 组件
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
文件中,还尝试了script
在angular.json中,但没有运气,它给了我错误:
未捕获的错误:[$injector:nomod] 模块“应用程序”不可用!
我想这一定是因为在新的 angular 7 引导应用程序之前未加载 angularjs
angularjs - UpgradeAdapter.registerForNg1Tests 有什么替代方法吗?
我有一个 Angular 混合应用程序,它使用UpgradeModule
. AngularJS 组件依赖于降级的 Angular 服务downgradeInjectable
。当我对组件进行单元测试时,我看到了这个错误。
错误:实例化可注入的“MyService”时出错:不是有效的“@angular/upgrade”应用程序。
您是否忘记降级 Angular 模块或将其包含在 AngularJS 应用程序中?
我发现UpgradeAdapter.registerForNg1Tests
并解决了这个错误。我喜欢这个功能,但UpgradeAdapter
据说该模块已弃用。我想使用一些不推荐使用的替代功能,如果存在的话。
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 输入传递
angularjs - AngularJS 和 Angular 无需升级 angularjs 代码即可共存
我有一个带有各种控制器/视图/服务和指令的 AngularJS 应用程序。我希望在不修改现有代码的情况下转向角度和打字稿。是否有可能做到这一点?我见过各种示例和论坛,它们将现有的指令/控制器转换为组件。由于我的应用程序很大,因此这对我们来说将是一项巨大的努力。
我的问题与 StackOverflow 上的其他问题不同,因为我不想修改现有的代码库,但希望 Angular 和 AngularJS 代码的代码样式共存。
angularjs - 降级 Angular 指令并在 AngularJS 模板中使用它
我正在尝试将 AngularJS 指令转换为 Angular。使用ngUpgrade
.
我有 AngularJS 指令如下:
转换为 Angular:
ngAfterViewInit
单击时未调用
将上面迁移的指令降级为 AngularJS,以便它可以在 AngularJS 模板中使用
AngularJS 模板:
组件.ts: