Angular2应用程序仅在第一次运行

时间:2016-09-06 14:29:21

标签: angular systemjs

我制作了一个简单的Angular2组件,就像在教程(https://angular.io/guide/quickstart

中一样

此Angular2组件在较大的应用程序中的模态内运行。

这是模态的内容:

<script>
    System.import('my-app')
</script>

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

应用程序仅在第一次打开模态时有效。当我清除内容并再次运行System.import('my-app')时,它什么都不做(没有错误,<my-app>Loading... </my-app>保持可见)。

仅在刷新页面后才有效。

如何再次启动相同的Angular2模块?

1 个答案:

答案 0 :(得分:0)

要回答我自己的问题,问题是my-app不会公开任何导出。我不得不调整main.ts:

import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';

import MyAppModule from './my-app.module';

platformBrowserDynamic().bootstrapModule(MyAppModule);

import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';

import MyAppModule from './my-app.module';

export default function main() {
    platformBrowserDynamic().bootstrapModule(MyAppModule);
}

来自以下的初始代码:

<script>
    System.import('my-app');
</script>

<script>
    System.import('my-app')
            .then(function(main) { 
                main.default();
            });
</script>

(为了简洁起见,省略了捕获代码)