У меня есть этот код, который прекрасно работает, на мой файл main.ts (загрузочный файл для приложения):Как загрузить приложение Angular2 только тогда, когда DOM элемент присутствует
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { AppModule } from './app.module';
platformBrowserDynamic().bootstrapModule(AppModule);
Но я просто хочу, чтобы грузиться приложение, когда главный переключатель находится там (потому что если не он поднимает классическую ошибку селектор не найден), поэтому я думал, что-то вроде следующего кода будет работать:
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { AppModule } from './app.module';
document.addEventListener('DOMContentLoaded', function() {
var shouldBootstrap = document.getElementById("my-app-selector");
if (shouldBootstrap) {
platformBrowserDynamic().bootstrapModule(AppModule);
}
});
к сожалению, это не работает , Я полагаю, что это связано с комбинацией javascript и машинописного текста. Есть ли способ прослушать событие, а также наличие элемента DOM, чтобы предотвратить загрузку angular2, когда это не необходимо?
Я бы пошел на этот подход, потому что я обслуживаю javascript в комплекте с webpack.
Спасибо!
Проверьте функцию загрузчика https://github.com/AngularClass/angular2-hmr/blob/master/src/helpers. ts – yurzui