問題タブ [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 に答える
61 参照

angularjs - ディレクティブがリッスンするイベントを設定する

次のようなディレクティブがあります。

私はこれを持っています:

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

javascript - angularディレクティブが分離スコープ内の親コントローラースコープを取得しないのはなぜですか?

親コントローラーのスコープオブジェクトからのいくつかの変数を含む分離されたスコープで動作するディレクティブを取得するために、Angular docs に正確に従いました。

http://plnkr.co/edit/FpQtt9?p=preview

私のコードの何が問題なのか誰か教えてもらえますか? ディレクティブの Isolate スコープが「myPokie」と「name」に対して未定義の値を返すのはなぜですか?

これには $scope.watch を使用する必要があると他の人が言っているのを見たことがあります..しかし、angularのディレクティブドキュメントはそれについて何も述べていません..そして、私は本当に些細なことに $scope.watch を使用したくありません箱から出してすぐに動作するはずです。

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

angularjs - 分離スコープによる AngularJS イベントベースの通信

$emitAngularJS では、あるディレクティブがイベントベースの通信 ( 、$broadcastおよび$on) を使用して、isolate スコープを持つ別のディレクティブと通信するにはどうすればよいですか? 2 つのディレクティブを作成しました。isolate スコープが 2 番目のディレクティブから削除されると、最初のディレクティブは、emit を使用して 2 番目のディレクティブと正常に通信できます。ただし、isolate スコープを 2 番目に戻すと、通信が切断されます。

問題を説明するためにプランカーを作成しました。2 番目のディレクティブのディレクティブ定義オブジェクトの "scope" プロパティをコメント アウトすると、通信が機能することに気付くでしょう。最初のディレクティブの入力ボックスに文字列を入力し、最初のディレクティブのボタンを押すことができます。ディレクティブに渡され、文字列は 2 番目のディレクティブに伝達され、ビューに表示されます。(現状では、Isolate スコープの問題により、Plunker は壊れています。app.js ファイルの 19 行目を参照してください。)

http://plnkr.co/edit/AXUVX9zdJx1tApDhgH32

私の包括的な目標は次のとおりです。2 番目のディレクティブに isolate スコープを使用する理由は、スコープの内側と外側のスコープを分離するためです。(私のプロジェクトで使用されている実際の「2 番目のディレクティブ」は、このおもちゃの例よりもはるかに複雑です。これが必要な理由です。) AngularJS がディレクティブの内部スコープに外部スコープをマッピングするためのメカニズムを提供することを知っています。これらのメカニズムのいずれかが、イベントベースの通信のイベントのマッピングに役立つかどうかに興味があります。

答えが、イベントベースの通信では分離スコープが克服できないということであることが判明した場合、目標を達成しながら、私が説明したケースでディレクティブ間の通信を達成するための最良の方法は何ですか? ありがとうございました!

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

javascript - アイソレートされたスコープを使用して、ボタンを非表示にするプロパティを取得する

hideButtonsディレクティブでプロパティを取得するために分離スコープを使用したいと思いtodo-carduiますtodo-formui

それらの親は、次のcreate-modalように呼び出されるディレクティブです。

}]);

私は次のようなコードを使用します:

プロパティhideButtonsは取得されていませんが、取得されていません。次のtodoことも試みました。

これはエラーをスローします:

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

javascript - スコープを分離せずにスコープを分離する方法は?

ディレクティブが親スコープからの継承を停止するため、分離スコープは不便です。

したがって、同じスコープ内で同じディレクティブを使用したい場合は、ng-if次のようにディレクティブ スコープを分離するために使用しています。

このようにして、スコープを分離する必要がなく、両方のディレクティブの属性が混同されることはありません。

これまでのところ、このアプローチの問題に気づいていませんが、ハックに見えます..これを行うためのより良い方法はありますか?

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

javascript - Angular ディレクティブ - 親から分離スコープを継承させることはできますか?

他の誰かが書いた angular ディレクティブを編集しようとしていますが、問題が発生しています。これは属性ディレクティブであり、変更の属性の値として渡される値を監視したいと考えています。

これは、isolate スコープを指定し、scope.$watch を使用してプロパティを監視すると機能します。ただし、isolate スコープを使用すると、もともとスコープが true に設定されていたため、ディレクティブが壊れます (これは、親スコープを継承することを意味していると理解しています)。

だから私の質問は、どうすれば親スコープを継承できますが、属性の値も監視できますか?

わかりやすくするために、ディレクティブの基本的な例を次に示します。

親スコープを継承していないため、これはエラーをスローします。そして、私が設定した場合

エラーは解決しましたが、ウォッチ ハンドラが実行されません。

HTML の大まかな概要:

助けてください、ありがとう!