Как сделать длинную загрузку с Angular 2?

Недавно я наткнулся на статью, в которой кто-то хотел свободно использовать компоненты (Angular 2) с Drupal в качестве бэкэнд-сервиса.

Вы можете проверить статью здесь:http://www.mediacurrent.com/blog/building-wundergroundcom-drupal-angular-2-challenge-1-how-bootstrap

Мэтт, здесь упоминается, как это сделать, и показывает нам пример Plunkr, однако похоже, что он больше не работает с новой версией Angular 2 RC1.

Может кто-нибудь, пожалуйста, обновить этот Plunkr для работы с текущей версией? Я знаю, что платформа и начальный загрузчик были удалены / размещены где-то еще, и я думаю, что по этой причине это не работает.

Вот пример плунжера:

http://plnkr.co/edit/A7fyFUST9IdP1FriauXk?p=preview

И вот код, который может потребоваться изменить, на мой взгляд:

//main entry point
import {platform} from 'angular2/core';
import {bootstrap, BROWSER_PROVIDERS, BROWSER_APP_PROVIDERS} from 'angular2/platform/browser';
import {Comp1} from './comp1';
import {Comp2} from './comp2';

var app = platform(BROWSER_PROVIDERS).application([BROWSER_APP_PROVIDERS]);

// These are just loaded manually, but could be put inside an isInViewport
// function for lazyloading.
app.bootstrap(Comp1);
app.bootstrap(Comp2);

bootstrap({Comp1, Comp2}, [])
  .catch(err => console.error(err));

Я был бы очень признателен, если бы кто-то мог предложить жизнеспособное решение здесь.

 Arjan03 окт. 2016 г., 15:17
Просто любопытно: что означает «длинная форма» в этом контексте?

Ответы на вопрос(1)

Решение Вопроса

Теперь на самом деле это проще сделать:

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

import { AppComponent } from './app.component';
import { AppTwoComponent } from './app2.component';

bootstrap(AppComponent);
bootstrap(AppTwoComponent);

рабочий пример ->http://plnkr.co/edit/sRMyTMYK8ba3NS2eQorR

Но вам, вероятно, нужно будет иметь возможность общаться между приложениями:http://plnkr.co/edit/aZqdJe3OZ8K2odHioWkB

var shared = new SharedService();//this way we share same instance

bootstrap(AppComponent, [{ provide: SharedService, useValue: shared }]);
bootstrap(App2Component, [{ provide: SharedService, useValue: shared }]);

и вы можете реализовать общий сервис в соответствии с:https://angular.io/docs/ts/latest/cookbook/component-communication.html#!#bidirectional-service

import { Injectable } from '@angular/core';
import { Http, Response} from '@angular/http';
import { Observable, Subject } from 'rxjs/Rx';

@Injectable()
export class SharedService {
  constructor() {
    console.log('shared service init');
  }
  // Observable string source
  private missionConfirmedSource = new Subject<string>();

  // Observable string stream
  missionConfirmed$ = this.missionConfirmedSource.asObservable();

  confirmMission(astronaut: string) {
    console.log(astronaut);
    this.missionConfirmedSource.next(astronaut);
  }
}

опубликовать как это:

this._sharedService.confirmMission('some string');

подписка выглядит так:

_sharedService.missionConfirmed$.subscribe(
        hero => {
            console.log('confirmed');
            alert('App2Component received hero click: ' + hero);
        });
 Arjan03 окт. 2016 г., 15:22
К сожалению, где-то после Angular 2 RC4bootstrap был удален из@angular/platform-browser-dynamic (И егоbootstrapModule ожидает, ну и модуль).

Ваш ответ на вопрос