更换html后重新启动angular app

时间:2017-05-31 12:49:32

标签: javascript ajax asp.net-mvc angular

所以我正在努力和应用程序,这是MVC和Angular2的可怕组合。

在我的索引页面上,我们有一个部分视图加载角度应用程序。索引页面还包含使角度应用程序正常工作所需的所有其他javascripts链接。

这在第一次加载时工作正常,但是有一个异步调用再次调用此网格局部视图并用<my-app>Loading...</my-app>替换Angular应用程序。

问题

在进行异步调用并更换html后,javascript中有没有办法重新加载/重启角度应用程序?

索引(主视图)

<div>
    @Html.Partial("Grid")
</div>

网格(部分视图)

<my-app>Loading...</my-app>

如果我需要做更深入的解释,请告诉我。

修改

我对Angular的有限知识表明应该有一种方法可以重新运行在第一次加载时运行的javascripts。这不简单吗?只需再次运行boot.js或类似的东西?我的意思是<my-app>标签已经存在。

1 个答案:

答案 0 :(得分:2)

这已经在GitHub issue中回答了一段时间,但我不认为它在角4上有效

老实说,这有点棘手,但我的想法(我没试过这个)是在模块引导级别上做同样的事情 在main.ts

export var applicationRef;
platformBrowserDynamic().bootstrapModule(AppModule).then((_appRef) => {applicationRef= _appRef}

);

然后你可以在destroy()上调用applicationRef,然后再次引导应用程序重新加载它。