一个奇怪的问题。我有一个庞大的AngularJS指令,应该将其完全重写。挑战太大了,无法一次完成所有工作。我想知道是否有一种方法可以降级AngularX中的路由组件以加载到此AngularJS指令中而不重构它。我找不到任何详细信息。
降级角度分量使我可以使用称为投影的东西,这等效于AngularJS的包含。
我尝试了很多方法,但是我的最佳方法是:
// component
@Component({
selector: "some-component",
templateUrl: "./some.component.html",
})
export class SomeComponent{}
// routes
{ path: "some-route", component: SomeComponent}
// downgrades
import { downgradeComponent } from "@angular/upgrade/static";
import {SomeComponent} from "./some-location"
angular.module("somemodule").directive(
"someComponent",
downgradeComponent({ component: SomeComponent })
)
到目前为止,还没有运气。由于应用程序很大。这将使您为完成移植系统所做的工作很少做出承诺。如果名称不匹配。该应用程序将因为找不到指令名称而中断。
如果降级成功,人们会希望angularjs组件能够在该路线上正常工作。
答案 0 :(得分:0)
再进行一些挖掘后,这将永远无效。我最终只是使用UpgradeComponent类升级指令:https://angular.io/api/upgrade/static/UpgradeComponent 缺点是它通过创建包装器增加了很多样板。