Angular 可注入服务中的引导组件

Angular 可注入服务中的引导组件,angular,asp.net-core,angular2-services,Angular,Asp.net Core,Angular2 Services,在我们的ASP.NET核心应用程序中,我们使用Ajax动态加载一些HTML部分视图,以避免刷新页面。在这些视图中,我们添加了Angular 2组件,所以当我们显示部分视图时,我们需要引导组件:这就是我们在可注入服务中所做的 部分观点: <home></home> 注意:第一次直接插入到局部视图中的代码完全相同,之后我出现了一个错误:“angular2.dev.js:23941异常:预期不在角度区域,但它确实在!” 我在控制台中看到没有错误(在我的服务中),因为我看到“导

在我们的ASP.NET核心应用程序中,我们使用Ajax动态加载一些HTML部分视图,以避免刷新页面。在这些视图中,我们添加了Angular 2组件,所以当我们显示部分视图时,我们需要引导组件:这就是我们在可注入服务中所做的

部分观点:

<home></home>
注意:第一次直接插入到局部视图中的代码完全相同,之后我出现了一个错误:“angular2.dev.js:23941异常:预期不在角度区域,但它确实在!”

我在控制台中看到没有错误(在我的服务中),因为我看到“导入完成!”并且
组件
对象已加载,但未引导

组成部分:

@Component({
    selector: 'home',
    templateUrl: 'home.component.html'
})
export class Home {
    // Some logic    
}

bootstrap(Home,
    [
        HTTP_PROVIDERS,
        HomeService
    ]);

有什么想法吗?这背后的重要思想是:如何多次加载一个角度2组件?

更新

.dispose()
是自beta.16以来的
destroy()

原创

不知道你说的“第一次,然后”

在再次引导组件之前,可能需要先处置该组件

bootstrap(Home,
    [
        HTTP_PROVIDERS,
        HomeService
    ]).then((ref => {
      xxx = ref; // store ref
    });
销毁组件

xxx.dispose();

然后您应该能够再次添加它。

事实上,您可以多次引导,但不能引导同一个组件。这是对角度的限制

也就是说,我还将定义SystemJS的配置

我不知道实际的用例是什么,Angular2提供了一种使用
DynamicComponentLoader
one动态加载其他组件(例如,自举组件)内部组件的方法

有关更多详细信息,请参阅此链接:

  • `

谢谢<代码>DynamicComponentLoader
不是我要搜索的内容<代码>
已经在这里了,我所需要的就是启动我的组件并将模板HTML注入DOM,如果需要,可以多次插入。
xxx.dispose();