Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将角度组件降级为AngularJS_Javascript_Angularjs_Angular_Angular Hybrid - Fatal编程技术网

Javascript 将角度组件降级为AngularJS

Javascript 将角度组件降级为AngularJS,javascript,angularjs,angular,angular-hybrid,Javascript,Angularjs,Angular,Angular Hybrid,我正在尝试降级我的角度组件,以便在AngularJS应用程序中使用 对于测试,我创建了非常简单的角度组件: // my-test.component.ts @Component({ selector: 'my-test', template: '<h1>Hello World</h1>' }) export class MyTestComponent {} 之后,我简单地创建了angularjs指令,使这个组件在我的angularjs应用程序中可用 im

我正在尝试降级我的角度组件,以便在AngularJS应用程序中使用

对于测试,我创建了非常简单的角度组件:

// my-test.component.ts
@Component({
    selector: 'my-test',
    template: '<h1>Hello World</h1>'
})
export class MyTestComponent {}
之后,我简单地创建了angularjs指令,使这个组件在我的angularjs应用程序中可用

import {MyTestComponent} from 'path/to/my-test.component';
import {downgradeComponent} from '@angular/upgrade/static';

angular.module(name, [])
.directive('myNgTest', downgradeComponent({component: MyTestComponent}))
我在模板中使用了它

<my-ng-test></my-ng-test>

错误:

实例化组件“MyTestComponent”时出错:不是 有效的“@angular/upgrade”应用程序。你忘了给一个公司降级了吗 AngularJS应用程序中是否包含AngularJS模块

在我读过的所有教程中,我可能遗漏了一些关键步骤。Angular2模块和AngularJS模块之间没有连接,但是需要降级的组件直接导入


欢迎任何建议

您还需要从
angular
注入
UpgradeModule
和boostrap
angularjs
。您还需要在
@NgModule
上的
导入中包含
升级模块

要引导混合应用程序,必须引导应用程序的每个AngularJS和AngularJS部分。您必须首先引导角度位,然后要求UpgradeModule引导AngularJS位


谢谢你的回答。但是我觉得这是一个有点不同的方法。我有一个巨大的AngularJS应用程序,我只想偷偷加入一些AngularJS组件(以后可能会用AngularJS组件替换我的一些AngularJS组件,但不是现在)。在您的例子中,看起来更像是让我们在AngularJS应用程序中添加几个AngularJS组件。我说得对吗?@Andurit-我站在正确的位置,尽管你仍然必须从
angularjs
引导
angularjs
。在上述代码中,
name
angularjs
模块名称。另请参阅更新的答案和文档链接。这是一个很好的观点,在我的项目中竖起大拇指,并测试一些与之相关的内容。您好@Andurit,您是否找到了成功降级组件的方法?如果是的话,你能给你的问题贴个答案吗?
<my-ng-test></my-ng-test>
import { UpgradeModule } from '@angular/upgrade/static';


@NgModule({ imports:[UpgradeModule]})
export class MyModule {
  constructor(private readonly upgrade: UpgradeModule) {}
  ngDoBootstrap() {
    this.upgrade.bootstrap(document.body, [name], { strictDi: true });
  }
}