問題タブ [angularjs-ng-transclude]
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.
angularjs - トランスクルージョンされたテンプレート内で ng-repeat アイテムを取得するには?
トランスクルードされたテンプレート内で ngRepeat アイテムを使用するにはどうすればよいですか? 出来ますか?
ディレクティブ テンプレート:
指令:
コントローラ ビュー:
angularjs - 分離スコープが作成されていない場合に、ディレクティブの子コントローラー メソッドにアクセスする方法
いくつかのメソッドを含む独自のコントローラーを持つ 1 つのディレクティブを作成しようとしています。scope:false
ディレクティブが孤立したスコープを作成しないように設定しています。
ディレクティブの定義は次のとおりです。
利用方法:
メソッドにアクセスできませんsomeMethod()
。バタランで見つけようとしているとき、私はそれをどの範囲にも入れていません。誰か助けてくれませんか?
javascript - bindToController を含むディレクティブは、子ディレクティブからデータを取得できません
子ディレクティブの入力からオブジェクトを構築し、それをパラメーターとして提供される配列にプッシュするディレクティブを作成しようとしています。何かのようなもの:
次のようなデータを収集しようとしています。
これがコード付きのプランカーです。
- 更新 1: @jrsala には、スコープと bindToController 構文の変更が含まれています
これらのディレクティブの通信方法がわかりません。input
リンクで定義されたオブジェクトが各ディレクティブのスコープ内で分離され、提供されたオブジェクトにプッシュされることを期待していon
ます。その結果、input
オブジェクトはすべてのインスタンスで共有され、1 つのオブジェクトだけが配列にプッシュされます。
トランスクルージョンされたスコープ ルールが私を混乱させていると思いますが、実際にはどこにあるのかわかりません。何か案は?ありがとう!
angularjs - Angular UI Bootstrap のトランスクルージョンはどのように行われますかディレクティブの仕事?
私は現在、2 つのトランスクルージョン セクションを含むディレクティブを作成しようとしていますが、これまでのところ成功していません。今tab
、Angular UI Bootstrap のディレクティブがまさにそれを行うことを発見しました! 残念ながら、彼らがソース コードで実行している巧妙な策略は、どうやら私には理解できないほど高度すぎるようです。
例では、次のコードがあります。
これはまさに私が必要とするものです。<tab-heading>
コンテンツをある場所でトランスクルージョンし、他のものを別の場所でトランスクルージョンするために必要な手順を誰か説明してもらえますか?
ソースで理解できないこと:
tabHeading
a のみのディレクティブはありませんtabHeadingTransclude
。<tab-heading>
では、元素はどのように発見されるのでしょうか。また、そのような要素のクエリはどこにもありません。- また、2 つの transclude-directives
tabContentTransclude
とtabHeadingTransclude
.
angularjs - Transclude: false の場合、トランスクルージョンはどのように機能しますか?
高度なカスタム ディレクティブについて詳しく知りたいと思っており、次のソース コードを調べていました。
https://github.com/dpiccone/ng-pageslide/blob/master/dist/angular-pageslide-directive.js
11行目で気づいたのですが、transclude: false,
ただし、このディレクティブは div でラップされています。トランスクルージョンはどのように行われますか?
したがって、与えられた例は次のとおりです。
angularjs - angular jsのng-transclude
angular.js の Transclusion の定義によると、「Transclude を有効にすると、ビュー内のwelcome 要素内に存在するものはすべて、テンプレート内の ng-transclude 属性を持つ要素のコンテンツに追加されます。」、私はしようとしていました次の動作を理解してください:-
角度コード:-
タグのng-transclude
内側を指定すると、その下のコンテンツが破壊されますが、div を指定すると正常に動作します。定義によると、ここでのトランスクルージョンは、値がタグ間の任意のものに追加されることを示しています。間違っていたら集めてください。h2
h2
ng-transclude
javascript - TypeError: transclude は関数ではなく、angularjs の select2 で選択オプションの値をバインドすることもできません
angularjsを使用して、マルチselect2ドロップダウン用のプランカーコードを1つ取得しました。私のコードで実行しているときに、オプション値が選択オプションにバインドされていないことを除いて、正常に動作します。
以下の plunker デモをリンクしましたが、plunker のコードはエラーなしで正常に実行されましたが、私のコードで実行中に何らかの理由でこのエラーが発生しました...
コンソール エラー:
プランカーリンク:
http://plnkr.co/edit/juqoNOt1z1Gb349XabQ2?p=preview
ここに、このデモ モジュールを以下のような私のモジュールに含めます。
私は誰でも私に提案を与えることができるこのエラーと戦っています。
参考までに、コンソールでレンダリングされた HTML コード: