問題タブ [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.
javascript - 定義済みの条件に基づいて HTML コンポーネントを ng-repeat にバインドする方法
私はAngularJSを初めて使用します。アプリ全体で再利用される html コンポーネントを作成しました。このコンポーネントが製品の基本情報を提供するとしましょう。HTML の基本構造は次のとおりです。
product.js ファイルは次のようになります。
小さな HTML コンポーネントは、次のようにアプリ内の他の HTML ページで再利用されます。
問題は、HTML コンポーネントをページ全体で使用するときに、データを HTML コンポーネントにバインドできないことです。これらのページのコントローラーは別のフォルダーにあります: app/productshipping/productshipping.controller.js HTML コンポーネント自体で ng-controller="controller_name" を使用してみましたが、結果は得られませんでした。:( 助けてください。
angularjs - Angular 1.5 コンポーネントでの再帰
いくつかの一般的な再帰的角度ディレクティブ Q&A があります。洗練された解決策は、再帰機能をサービスに抽象化し、それをディレクティブの「コンパイル」段階で呼び出すことです。
.directive() の代わりに新しい Angular 1.5 .component() で同じ概念を使用したい場合、最善のアプローチは何ですか?
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の方法はありますか?doSomething
app.js
undefined
node
arguments
編集:
angularjs - 子スコープで初期化を行う前にAngular Componentバインディングが安定するのを待つ適切な方法は?
バインディング値に依存する子コンポーネントで初期化を実行して初期化を完了する前に、コンポーネント バインディングが親スコープで安定するのを待つ良い方法を見つけるのに苦労しています。
これが私のフィドルです: https://jsfiddle.net/nLpd9bsq/2/
可能な解決策:
1. $onChanges() を使用して、すべてのバインディングが安定するのを待ちます
。この例ではバインディングは 1 つしかありませんが、3 つのバインディングを持つコンポーネントがあり、各値が親スコープで非同期に読み込まれるとします。promise のようなものを使用せずに子スコープの初期化を同期しようとすると、混乱が生じます。
2. 「非同期値」
の初期化をサービスに移動 初期化をサービスに移動し、Promise を使用してそれを解決し、このサービスを大文字と小文字の両方のコンポーネントに挿入します。これを行うと、コンポーネント バインディング メカニズムをあきらめるという事実に加えて、appController での初期化を制御できなくなり、両方のコンポーネントが同じ Async 要求を行うのを防ぐためにサービスに追加のコードが必要になります。独自の初期化サイクル中に発生し、非同期リクエストが重複して終了します。
あなたの考えは何ですか?どのソリューションを使用しますか? ありがとう!
app.js
app.html
angularjs - 属性のAngular 1.5コンポーネント式「未定義」
AngularJs 1.5 コンポーネントを使用しようとしていますが、宣言するたびにbindings
次のエラーが発生します。
ディレクティブ 'homeComp' で使用される属性 'message' の式 'undefined' は割り当てられません!
私は単純なコンポーネントを試しています。それを学ぶためだけに、これはコードです:
ここでエラーを確認できます: http://plnkr.co/edit/uutk5kxOVpa5eLfjoa8U?p=preview
コードの何が問題になっていますか? または、このエラーの原因は何ですか? バインディングを削除すると、エラーは表示されず、メッセージを変更できます。