2016-03-31 8 views
0

最近Angular2ルータで問題が発生し始めました。問題は、router-outletの外にあったコンポーネントは、ngOnInitメソッドが呼び出されることでした。しかし、router-outletの中にあったコンポーネントはそうしないでしょう。Angular2 RouterとOnInit

私はprevious issues with the Angular2 router as wellでした。しかし、この問題は外部のJavascriptコードに関連していたようですが、これは明らかにAngular2ライフサイクルフックの問題であるようです。

私はいくつかのプランカをまとめましたが、問題を再現できませんでした。それが問題です。それは、問題が何であったかを理解した(そして、私が読んでいた何か他のもので示唆された)。だから私はこれを質問として掲示しており、誰かがこの問題に遭遇した場合に私が答えとして見つけたものを含める。

答えて

0

私が前に述べたように、私はAngular2ルータに他の問題があると思います。今私はこれをさらに掘り下げたので、彼らは関連していると思う。

私はここで少しトレンドを挫折し、SystemJSを使用していません。代わりに、私は単純なwebpackビルドをやっています。それは問題がどこにあるかのようです。私はいくつかの他の問題とstackoverflowの質問を参照してください彼らはscriptタグの順序の重要性を述べた。まあ、webpackは私から離れてこのようなことを直接制御するので、私は本当に注意を払っていませんでした。しかし、それは重要であることがわかります。

私は現在、webpackからbundle.jsファイルを作成しています。しかし、私が気に入らなかったのは、アプリケーションにangular2-polyfills.jsを含める方法を見つけなければならないということです。どういうわけか、どういうわけかwebpackに入ると思っていたのですが、そうではありません。

私が最初に試したことは、単にindex.htmlの<head>セクションに追加することでした。これにより、webpackの外にロードされ、これで十分です。また、次のものを追加するだけでよいことが分かりました:

require('angular2/bundles/angular2-polyfills'); 

...私のwebpackエントリポイント。

angular2-polyfills.jsファイルが作成されると、ライフサイクルフックが正しく呼び出されていました。

関連する問題