問題タブ [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 - ディレクティブの動的トランスクルード値
次のようなディレクティブがあります。
そして、トランスクルード値の変数を作成し、条件に応じて変更したいのですが、どうすればよいですか?
angularjs - ネストされたディレクティブを使用した Ng-transclude
1 つのディレクティブ テンプレートに 2 番目のディレクティブが含まれる 2 つのディレクティブを使用しています。ng-transclude
2 番目の (ネストされた) ディレクティブ内で使用したいと思います。どうすればこれを達成できますか? ここに plnkr があります。
javascript - コンパイルブレーク内のAngularトランスクルージョンng-repeat
2つのものを別々の場所にトランスクルージョンできるディレクティブを作成しようとしていますが、そのうちの1つは ですがng-repeat
、コンパイル関数で$transclude
ブレークを使用して return を返しますが、その中でそれundefined is not a function
を行うと機能しますが、コンテンツがありません。pre-compile
ng-repeat
私のコードは次のようになります
また、空の ng-repeat を返す手動トランスクルードを試してみました
サイドバー項目のテンプレート
ディレクティブの使用
代替使用
javascript - ディレクティブ テンプレートがロードされる前に ng-transclude コンテンツをロードするディレクティブ
読み込まれるテンプレートと、渡されるトランスクルードされたコンテンツを持つディレクティブを作成しています。したがって、基本的に私のhtmlは
ただし、ページが読み込まれると、一瞬、ページ上のトランスクルージョンされたコンテンツだけが表示されます。ページが最初に読み込まれてからディレクティブ テンプレートが読み込まれるまでに遅延があると思います。ディレクティブ テンプレートが読み込まれるまで、トランスクルージョンされたコンテンツを非表示にする方法はありますか?
どうもありがとう、最初にすぐにロードするのは本当に不快な経験です. これを修正する方法を知っている人はいますか?
angularjs - Angularjs: 再帰ディレクティブを使用するときにトランスクルードでローカル スコープにアクセスする方法
背景:
JSON スキーマからツリー ビューをセットアップしようとしていschema-tree
ます。このコードでセットアップするときに、ディレクティブを使用してこれを行います。ビュー内で、このツリービューを再利用できるように DOM 要素をトランスクルージョンしようとしています。ただし、エンドポイントごとにトランスクルードされた DOM のコピーがあるため、再帰でトランスクルードされた DOM のどのコピーがアクセスされたかを判断する必要があります。
問題: しかし、このスコープにアクセスしようとして失敗しました。私が思いついた最善の方法は、ディレクティブのコンパイル関数でスコープを変更することですが、これにより、transclude スコープがディレクティブの最初の呼び出しの値にのみ変更され、呼び出しごとに再帰的に変更されることはありません。
コード:
ここで Plunker を見つけてください: http://plnkr.co/edit/3wmUbMTPNuBHXYOKHsho?p=preview
このコードは再帰ツリーで、ボタンのクリック時に再帰ごとに変数をschema-tree
抽出しようとしています。path
各ディレクティブ内でを取得できますがpath
、関連する Transcluded DOM では取得できません.root
。
質問:
何が間違っていますか? path
トランスクルージョンされた DOM で直接の親にアクセスするにはどうすればよいですか。
関連して、この問題を解決するために別のアプローチを使用する必要がありますか?
前もって感謝します!!!!!!!
angularjs - トランスクルードのスコープも分離されていますか?
カスタム ディレクティブを他のディレクティブ内に追加したいと考えています。2 番目のディレクティブは、最初のディレクティブのスコープを使用する必要があります。問題は、最初のディレクティブのスコープが分離されており、明らかに 2 番目のディレクティブでも分離されていることです。私の意見では、transclude を使用しているため、そうすべきではありません。
これが例です。私がコメントするとscope: {test:"@"}
、すべてが正常に機能します。修正方法は?
javascript - transclude 関数に ng-model 属性を追加する
「名前」属性を持つすべての要素とディレクティブの中に属性 ng-model を追加しようとしていますが、何らかの理由で、リンク関数のトランスクルード関数を使用すると、ディレクティブはその ng-model を削除します追加すると、角度がエラーをスローします:
クロム開発者ツールでDOMを見ると、次のコードを使用して追加した後、ng-modelが削除されます(ディレクティブ要素から削除されますが、単純な入力要素からは削除されません):
ディレクティブが Transclude 関数内でコンパイルされると、属性が削除されるのはなぜですか?、必要なものをどのように達成できますか?