問題タブ [isolate-scope]

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 に答える
9890 参照

angularjs - 式 `("&")` バインディングを使用して AngularJS コンポーネントから親スコープにデータを渡す

angularコンポーネントの出力バインディング関数からコントローラースコープにアクセスできません

ダッシュボードコンポーネントからホーム コントローラーのスコープにアクセスしようとしていますが、未定義です。

2 番目の方法も試しましたが、関数変数が未定義です。

TypescriptでAngular 1.5を使用しています

最初のアプローチ:

ホームコントローラーの HTML:

ホームコントローラーjs:

ダッシュボード コントローラ js:

2 番目のアプローチ:

ホームコントローラーの HTML:

ダッシュボード コントローラ js:

そして、ここで私は反対を得ています:

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

angularjs - AngularJS ─ ディレクティブ コントローラーからリンクでスコープを取得できない

非常に単純な構造のサンプルアプリがあります (ここで見ることができます: http://plnkr.co/edit/5VAqUQsqKFGoteahacR2?p=preview ): ファイル index.html にはテンプレート (app/templates/home.html) が含まれています。これには、ディレクティブのテンプレートが含まれます。

次のディレクティブが含まれます。

param inner2の値は、contentsCtrl コントローラーで定義されている $scope.contents オブジェクトのキーです。

このキーは、ディレクティブのスクリプト (app/scripts/directives/defaultDirective.js) でオブジェクト フィールドを抽出するために必要です。

最後に折りたたまれたディレクティブ (app/templates/inner-directive-2.html) の内容は非常に単純です。

つまり、getStuff() を呼び出して $scope.contents[object_key] を取得するという考え方です。しかし、$scope.contents を見ることはできません。分離されたスコープ パラメータ (上記参照) の内容を外側のスコープにバインドすることで実現できるのではないかと考えました。

...しかし、スコープ オブジェクトは返さず、代わりに関数を返します。おそらくここで何かが間違っています。質問は: 1. なぜ機能し、どこから来るのか? 2. 何らかの方法で $scope.contents を取得できますか?

http://plnkr.co/edit/5VAqUQsqKFGoteahacR2?p=preview

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

angularjs - テンプレートのない角度ディレクティブ - ディレクティブから ng-click 関数を割り当てる

ディレクティブ属性が適用されている要素に ng-click 関数を設定するにはどうすればよいですか? ディレクティブ テンプレートに問題が発生した後、それは複数の tr にまたがるため、テンプレートを使用せずに ng-repeat-start/end を使用することになりました。だから、私の質問は: ディレクティブ要素の内容をディレクティブの分離スコープに取得する適切な方法は何ですか?

// コントローラーのスコープ

// ディレクティブ

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

javascript - スコープの分離 - ディレクティブ スコープ内で定義された値だけで変更を実行する必要があります

カスタム ディレクティブの Isolate Scope を試しています。

多くの開発者に確認した難しい質問ですが、これまでのところ回答が得られていません。

Link の JS Fiddle からコードを見つけて、これを機能させるために必要な変更を修正するのを手伝ってください。

ディレクティブ テンプレート内にMy Reverseという名前のボタンがあります。「ボタンのクリック時に、親の値に影響を与えずにディレクティブ テンプレート内にあるテキスト値を変更したい **」

提供された Fiddle コードの修正を楽しみにしています。JS FIDDLE でのこのコード サンプルの修正依頼

より具体的な説明:

ボタンをクリックすると、ディレクティブのテキストボックスの値に影響を与えたいのですが、ディレクティブのボタンをクリックすると、親のテキストボックスの値ではなく、ディレクティブのテキストボックスの値のみに影響を与えたいです。


解決策を待っています..誰か助けてください..本当に感謝します

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

angularjs - Angular Karma - element.isolateScope() を呼び出すと、分離されたスコープと controllerAs を持つディレクティブが未定義を返す

こんにちは、このディレクティブがあります:

そして、私はそれをテストしようとしていますがisolateScope()、にアクセスできません。これが私のテストコードです:

私はこれと同じ設定を何度も行っていますisolateScopeが、ディレクティブにアクセスできない理由について何か考えはありますか?

コードとテストを含むプランカーを次に示します: http://plnkr.co/edit/JYYtck?p=preview

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

angularjs - md-datepicker の Angular 複数ディレクティブ エラー

日付の動的リストを作成しています。ユーザーは必要なすべての日付ピッカーを追加できますが、一致する日付がないことを検証する必要があります。それらはすべて異なる必要があります。それが唯一の要件です。

カスタム ディレクティブの検証を行い、正常にトリガーされましたが、isolate スコープを使用しようとすると、そのエラー (複数のディレクティブ) が発生します。ここで見た他の質問/解決策は、分離スコープを削除することを提案していますが、ディレクティブに日付の配列を渡し、それらを現在選択されているものと比較できるようにする必要があります。

これは、問題を再現するコードペンです。noMatchingDatesディレクティブのを削除するscopeと、エラーが消えて、日付ピッカーを適切に表示および追加できます。私はこれを意味しますscope

docsの次の行に関係していると思います:

分離スコープを要求する複数のディレクティブ。

また、isolate スコープを使用するより多くのディレクティブを持つ md-datepicker にも関係している可能性があります。では、どうすればこのエラーを解決できますか (それでも日付リストを送信できますか)?

md-datepickerの性質を考慮して解決できない場合 (スコープを維持する場合) 、どうすればこの動的検証に到達できますか? コントローラーと を使用して実行できると思いますng-changeが、適切な解決策になるかどうかはわかりません。

0 投票する
0 に答える
132 参照

angularjs - ネストされた isolate スコープ ディレクティブを使用した AngularJS コントローラー通信

私の AngularJS アプリケーションでは、各セクションにスライダー コントロールを含むアコーディオンを作成する必要があります。アコーディオンとスライダーの両方で API を外側のコントローラーに公開する必要があります。次に例を示します。

また

そして、コントローラーで次のようなことができるようにしたいと思います。

アコーディオンとスライダーの分離スコープ ディレクティブを作成し、双方向バインディングを使用して、メソッドを親コントローラーに公開できるようにすることを考えています。ページ テンプレートは次のようになります。

しかし、この時点で、分離スコープと子の可視性の制限の迷路に迷い込んでおり、外側のコントローラーから内側の要素にアクセスする方法がないようです。私がグーグルで調べた多くのソリューションは、ディレクティブがコントローラーと通信するのではなく、逆の方法で通信するのが正常であると考えているようですが、これはカプセル化を破るようです。

これを行う方法について何か考えはありますか?この問題に対する正しい AngularJS パターンは何ですか?