2017-10-25 11 views
0

私は、実行時にangular2コンポーネントを作成し、そのようにそれをブートストラップしようとしていますバニラES5スクリプトを持って、ES2からangle2コンポーネントをブートストラップするには?

var mycomp = require('complibrary').mycomponent; 
document.addEventListener('DOMContentLoaded', function() { 
ng.platformBrowserDynamic.bootstrap(mycomp); 
}); 

はcomplibraryたちが社内で開発してきた別のangular2コンポーネントライブラリで考えてみましょう。 mycomponentは、ES5コードで使用するためにエクスポートしたコンポーネントの1つです。私たちはコンポーネントの最終的なumd定義を吐き出すためにロールアップを使用しています。以下にmycomponentの抜粋を示します。

var mycomponent = (function() { 
function mycomponent() { 
    this.name = "Abhang Rane"; 
} 
mycomponent = __decorate([ 
    _angular_core.Component({ 
     selector: 'mycomponent', 
     template: '<h1>{{name}}</h1>' 
    }), 
    __metadata('design:paramtypes', []) 
], mycomponent); 
return mycomponent; 
}()); 

これは角度2.0.0.rc1で動作しましたが、角度が2.2以上であれば、platformBrowserDynamicで利用できるブートストラップ方法はありません。最新のアングル2ビルドでこれを達成する方法はありますか?好ましくは、コンポーネントを変更せずに...

答えて

0

Angular modulesはAngularJSモジュールの直後の継承者としてAngular 2.0.0 RC5で導入されました。

それはthis ES5 exampleに示さだとして、それは次のようになります。

platformBrowserDynamic().bootstrapModule(AppModule); 

そして、ブートストラップことになっているコンポーネントは、それぞれのモジュールが定義されている必要があります。

var AppModule = NgModule({ 
    declarations: [AppComponent], 
    bootstrap: [AppComponent] 
}) 
.Class({ constructor: function() {} }); 
+0

感謝。私は後で角バージョンのプレースホルダモジュールを持っているように見えます。 – theraneman

関連する問題