我成功地引导了我的混合应用程序,但是一旦我尝试在AngularJS模板中使用降级的Angular组件指令,我就会收到此错误:
Error: StaticInjectorError[{providers:[[object Object]], parent:[object Object], name:"DowngradeComponentAdapter"}]: Unexpected provider
at staticError (core.js:1360)
at recursivelyProcessProviders (core.js:1209)
at new StaticInjector (core.js:1079)
at Function.webpackJsonp../node_modules/@angular/core/esm5/core.js.Injector.create (core.js:1051)
at DowngradeComponentAdapter.webpackJsonp../node_modules/@angular/upgrade/esm5/static.js.DowngradeComponentAdapter.createComponent (static.js:230)
at doDowngrade (static.js:528)
at Object.link (static.js:554)
at angular.js:1383
at invokeLinkFn (angular.js:10610)
at nodeLinkFn (angular.js:9999) "<test-comp>"
我的AngularJS主机组件都是非常简单的静态组件。不能谷歌任何类似的东西。请帮忙。
答案 0 :(得分:2)
问题显然是我安装了更新版本的@ angular / upgrade(5.2)并且它与我系统上的其他角度包(5.1)不兼容。
答案 1 :(得分:1)
如果我正确理解了您的问题,那么您正在尝试使用AngularJS代码中的Angular组件。鉴于这是正确的,希望以下信息应该有所帮助:
生成的降级组件是一个指令,需要在AngularJS模块中注册。
angular.module('yourApp', [])
.directive(
'yourComponent',
downgradeComponent({ component: YourComponent }) as
angular.IDirectiveFactory);
我猜你错过了在某处注册组件。以供参考 - https://angular.io/guide/upgrade#using-angular-components-from-angularjs-code了解更多信息
答案 2 :(得分:0)
尝试在app.module.ts
中导入HttpClientModuleimport { HttpClientModule } from '@angular/common/http';
@NgModule({
imports: [
HttpClientModule
]
})