問題タブ [angularjs-components]

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.

0 投票する
1 に答える
714 参照

javascript - 定義済みの条件に基づいて HTML コンポーネントを ng-repeat にバインドする方法

私はAngularJSを初めて使用します。アプリ全体で再利用される html コンポーネントを作成しました。このコンポーネントが製品の基本情報を提供するとしましょう。HTML の基本構造は次のとおりです。

product.js ファイルは次のようになります。

小さな HTML コンポーネントは、次のようにアプリ内の他の HTML ページで再利用されます。

問題は、HTML コンポーネントをページ全体で使用するときに、データを HTML コンポーネントにバインドできないことです。これらのページのコントローラーは別のフォルダーにあります: app/productshipping/productshipping.controller.js HTML コンポーネント自体で ng-controller="controller_name" を使用してみましたが、結果は得られませんでした。:( 助けてください。

0 投票する
2 に答える
2673 参照

angularjs - Angular 1.5 コンポーネントでの再帰

いくつかの一般的な再帰的角度ディレクティブ Q&A があります。洗練された解決策は、再帰機能をサービスに抽象化し、それをディレクティブの「コンパイル」段階で呼び出すことです。

スタック オーバーフローの回答

.directive() の代わりに新しい Angular 1.5 .component() で同じ概念を使用したい場合、最善のアプローチは何ですか?

0 投票する
1 に答える
3359 参照

angularjs - Angular 1.5 のマルチレベル コンポーネント コールバック

私は、データ操作機能やデータが親から子、孫などに渡される React / Redux の考え方から来ています。コンポーネント自体はデータを変更するのではなく、意図をコンポーネント ツリーに戻します。

これを Angular 1.5 のコンポーネントで複製しようとしています。次の点を考慮してください。

app.js:

app.html:

node.js:

node.html:

leaf.js:

leaf.html:

これは機能します。divインleafをクリックする'Foooooo!'と、コンソールにログが記録されます。ただし、ngClickコールバックを変更してスコープ内の何かleaf(または のような単なるリテラル) を渡すように変更し、その引数が である引数を取るように'foo'変更します。どうにかして でデータを渡す必要があると思いますが、方法がわかりません。スコープ内にラッパー関数を記述せずに、中間コンポーネントに沿って引数を渡す方法はありますか? 私は使ってみましたが、うまくいきません - 私が望むことを達成するAngularの方法はありますか?doSomethingapp.jsundefinednodearguments

編集:

プランク: https://plnkr.co/edit/7L4Kd3rhJXoGlrHzecHf?p=preview

0 投票する
1 に答える
1830 参照

angularjs - 子スコープで初期化を行う前にAngular Componentバインディングが安定するのを待つ適切な方法は?

バインディング値に依存する子コンポーネントで初期化を実行して初期化を完了する前に、コンポーネント バインディングが親スコープで安定するのを待つ良い方法を見つけるのに苦労しています。

これが私のフィドルです: https://jsfiddle.net/nLpd9bsq/2/

可能な解決策:

1. $onChanges() を使用して、すべてのバインディングが安定するのを待ちます
。この例ではバインディングは 1 つしかありませんが、3 つのバインディングを持つコンポーネントがあり、各値が親スコープで非同期に読み込まれるとします。promise のようなものを使用せずに子スコープの初期化を同期しようとすると、混乱が生じます。

2. 「非同期値」
の初期化をサービスに移動 初期化をサービスに移動し、Promise を使用してそれを解決し、このサービスを大文字と小文字の両方のコンポーネントに挿入します。これを行うと、コンポーネント バインディング メカニズムをあきらめるという事実に加えて、appController での初期化を制御できなくなり、両方のコンポーネントが同じ Async 要求を行うのを防ぐためにサービスに追加のコードが必要になります。独自の初期化サイクル中に発生し、非同期リクエストが重複して終了します。

あなたの考えは何ですか?どのソリューションを使用しますか? ありがとう!

app.js

app.html

0 投票する
2 に答える
1207 参照

angularjs - 属性のAngular 1.5コンポーネント式「未定義」

AngularJs 1.5 コンポーネントを使用しようとしていますが、宣言するたびにbindings次のエラーが発生します。

ディレクティブ 'homeComp' で使用される属性 'message' の式 'undefined' は割り当てられません!

私は単純なコンポーネントを試しています。それを学ぶためだけに、これはコードです:

ここでエラーを確認できます: http://plnkr.co/edit/uutk5kxOVpa5eLfjoa8U?p=preview

コードの何が問題になっていますか? または、このエラーの原因は何ですか? バインディングを削除すると、エラーは表示されず、メッセージを変更できます。