問題タブ [angular2-modules]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angular - モジュールの子としてモジュールにルーティングする方法 - Angular 2 RC 5
現在取り組んでいるアプリケーションを最新の Angular 2 リリース候補にアップグレードしています。この作業の一環として、NgModule 仕様を使用して、アプリケーションのすべての部分をモジュールに移行しようとしています。ほとんどの場合、ルーティングの問題を除いて、これは非常にうまくいきました。
私のアプリはモジュールの構成として構築されており、いくつかのモジュールが親モジュールの子として一緒に接着されています。たとえば、通知モジュール、ユーザー モジュール、および電話モジュール (たとえば) で構成される管理モジュールがあります。これらのモジュールへのルートは次のようになります...
ルーターの以前のリリースでは、これは「子」を使用して簡単に実現できました。
別のファイルでは、サブモジュールの一部として、個々のモジュール ルートも定義します。
これはすべて非常にうまく機能しました。モジュールへのアップグレードの過程で、代わりにすべてを独自の個別のルーティング ファイルに移動したため、これら 2 つのファイルは次のようになりました。
と
これらすべてが整ったら、userRouting をインポートする UsersModule と、adminRoutes と UsersModule をインポートする AdminModule があります。私の考えでは、UsersModule は AdminModule の子であるため、ルーティングは以前と同じように機能します。残念ながら、そうではないので、ただのユーザールートになってしまいます
それ以外の
さらに、このため、新しいユーザー コンポーネントは管理コンポーネントのルーター アウトレットに読み込まれず、アプリケーションのスタイリングとナビゲーションが失われます。
私の人生では、UserModule のルートを AdminModule の子として参照する方法を考え出すことはできません。これを古い方法で実行しようとしましたが、ルートが 2 つのモジュールにあるというエラーが発生しました。これは明らかに新しくリリースされたものであるため、これらのケースの一部に関するドキュメントは少し限られています。
誰でも提供できるヘルプをいただければ幸いです。
angular - Angular2 RC5 クロスモジュール プロバイダー / スキャン
現在Angular RC5とMaterial Designの最新のプロジェクトに取り組んでいます。最後の部分は関係ありません。
明らかな理由により、個別のモジュールを作成し、すべてをメインモジュールに配置することから離れ始めています。ただし、すべてのモジュールで共有されるプロバイダーが必要です。F/EI には、バックエンド システムへの最終的な接続を行うサービスがあります。異なるモジュールの URL などは、別々のプロバイダーに設定されます。これらのサービスはすべて、現在、iOnic アプリやその他のフロントエンドでも使用しているため、別の git プロジェクトの一部でもあります。
では、プロジェクト用に作成するすべてのモジュールでインスタンスを共有するこのサービスをどのように使用すればよいでしょうか?
また、現在インストールされている/利用可能なモジュールから「ウィジェット」を表示するダッシュボードを作成したいと思います。これは、ユーザーが何を明らかに見ることができるかにもよります。Java での類似構造は、Component Scanning / Reflection によって解決されます。Angular では、タイプを追加してダッシュボードで利用できるグローバルな利用可能なプロバイダーを作成すると思いますか?
すべてが分離されているため、最後の部分はモジュールでは難しいかもしれません。誰かいくつかの考えを共有できますか? 基本的には2つの質問ですが、非常に似たような答えで解決する必要があると思います.
編集:
したがって、私の場合、既存のルートに注意したいと思います。これは、私が述べた別の質問に関連していますが、これに関係しています。
私がやりたいことは、このようなものです
このようなパターンにより、メインのコンポーネント内または w/e. もちろん、これを最初のロードまたは w/e で実行することもできますが、それは適切ではありません。
他の開発者も同様のことを行う必要があると思いますが、ここでどのようなパターンが適合するかは今のところわかりません。
たぶん、すでにそのようなフックが利用可能です。私BaseModule
はこのモジュールについて何も知りません。私のルートには、オプションで特定の許可値 (単なる列挙型) が含まれています。canActivate
フックでこれを確認したいので、フックでフェッチできないようで、すべての許可に対して設定するのはばかげているように見えるので、ルートについて知っておく必要があるように感じますcanActivate
。
angular - モジュール「AppModule」によってインポートされた予期しない値「MyCustomModule」
angular2 カスタム ライブラリの 1 つを RC.6 + Webpack に移行しようとしています。私のディレクトリ構造は次のとおりです。
dev
フォルダー内でアプリを実行してみます。モジュールをブートストラップします。
app.module.ts
現在、webpack を使用して開発アプリをバンドルしています。
webpack.config.js
しかし、アプリをロードしようとすると、次のメッセージが表示されます。
私がインポートするバレルファイルは次のようになります。
myCustomLib.js
github で同様のトピックに関するヒントも見つけましたが、次のように変更します。
助けにはなりませんでした。src
また、ディレクトリからモジュールをインポートしようとしました-同じエラーです。以前は systemJS で問題なく動作していたので、MyCustomModule は問題ないはずです。
myCustomLib.module.ts:
このエラーの原因は何ですか? ここで同様のトピックを見てきましたが、答えもヒントも役に立ちませんでした。
編集:例をさらに簡単にするために、MyCustomModuleからすべて削除しました-同じ問題...
javascript - コアモジュールと機能モジュールのAngular 2の違い
angular 2 のコアモジュールと機能モジュールの違いがわかりません。私が理解している限り、モジュールにはcore、feature、およびsharedの 3 つの推奨タイプがあります。
モジュールがいくつかの宣言 (コンポーネント、ディレクティブ、およびパイプ) をエクスポートし、多くのモジュールがこのモジュールをインポートする場合、このモジュールは (共有ディレクトリ内の) 共有モジュールである必要があります。
モジュールがいくつかの宣言 (コンポーネント、ディレクティブ、およびパイプ) をエクスポートし、ルート モジュールのみがこのモジュールをインポートする場合、このモジュールはコア モジュール (コア ディレクトリ内) である必要があります。
機能モジュールは同じですか? ルート モジュールのみがそれらをインポートします。この例には、CoreModule と ContactModule という機能モジュールがあります。それらの違いはわかりません。どちらもルートモジュールにインポートされます。
angular - angular2でsharedModuleを使用するには?
複数のモジュール間で共有したい angular2 コンポーネントが 1 つあります。
だから私は sharedModule の下に書いた、
次に、この sharedModule を以下のように複数のモジュールに追加しました。
app.module.ts
同様に、generic.module.ts に sharedModule も追加しました。
generic.module.ts
しかし、generic.module.ts のコンポーネント内でジェネリック コンポーネントを使用しようとすると、以下のエラーが発生します。
モジュール「GenericModule」によってインポートされた予期しない値「未定義」
angular - モジュール「AppModule」によってインポートされたAngular 2.0予期しない値「[object Object]」
angular 2.0 アプリケーションをロードしようとすると、次のエラーが発生します: (index):21 エラー: エラー: モジュール 'AppModule' によってインポートされた予期しない値 '[object Object]'
アプリモジュール
起動用スクリプトを入力
インポートから「ルート」を削除すると、ランディング ページが読み込まれますが、エラーは発生しません。AppModule の「ルート」を削除すると、ランディング ページが正しく読み込まれるため、ルーティングのエラーが疑われます。多くの変更を試みましたが、問題の原因を特定できませんでした。どんな助けでも大歓迎です。
angular - Angular2 モジュールからのエクスポートに問題がある
私は Angular 2 の初心者で、機能モジュールからクラスをエクスポートしてメイン モジュールにインポートする方法を理解しようとしています。
これを typescript でコンパイルしようとすると、次の 2 つのエラーが表示されます。
app/app.component.ts(11,21): エラー TS2304: 名前 'AddService' が見つかりません。
app/app.module.ts(4,9): エラー TS2305: モジュール '"C:/angular/app/add/arithmetic.module"' には、エクスポートされたメンバー 'AddService' がありません。
私のツリーは単純です:
興味深い部分は次のとおりです。
app.module.ts:
app.component.ts
算術モジュール.ts
add.service.ts
これは本当にイライラするので
1) AddService をエクスポートしています。これは「エクスポート」としてマークされており、ArithmeticModule 内から @NgModule メタデータを使用してエクスポート済みとしてマークしています。
2) メイン モジュール内から [おそらく] エクスポートされた AddService クラスをインポートしているので、ArithmeticModule からエクスポートされるため、AddService を使用できるはず
AddService をコンポーネント内から直接インポートすると問題なく動作しますが、それは目的ではありません。Angular のモジュールの場合と同様に、メイン モジュールからクラスをインポートし、そのモジュールからのエクスポートを利用したいと考えています。 (例: BrowserModule および FormsModule)。@NgModule のドキュメントには、機能モジュールからメイン モジュールに 1 回インポートすれば、メイン モジュール全体で使用できるようになるはずだと書かれています。
誰かが私が間違っていることを教えてもらえますか? それとも、どのモジュールが使用されることになっているのか誤解していますか?
angular - バンドル中に Angular 2 Starter Webpack が @NgModule デコレータを失う
こんにちは、バックエンド サービスへのアクセスを容易にするために angular 2 SDK を作成しました。ギットハブ
現在、さまざまな一般的なテンプレートでテストしていますが、バンドル中にangular2-webpack-starterのテンプレートで奇妙なことが起こります。
@NgModule デコレータを「緩める」か、認識せずにスローします
モジュール「AppModule」によってインポートされた予期しない値「[object Object]」
興味深いことに、sdk はakveo による ng2-admin で動作します。これは angular2-webpack-starter 上に構築されています。
以下は、私の問題を説明するためのコメント付きのコードスニペットです
これは、SDK の依存関係を初期化して提供するカスタム モジュールです。app.module.ts で実行できます
angular2-webpack-starter と ng2-admin の webpack 構成ファイルを比較しました。それらはほぼ同一であり、特に何もポップアップしません。
@NgModule Decorator をコメントアウトすると、同じエラーが ng2-admin に表示されるため、バンドル プロセス中にロードされていないか失われているのではないかと考えています。また、エラーチェーンをたどると同じことが示唆されます
SDK は angular-cli beta15 でも動作します。