0
私は何ヶ月もAngularJSで働いています。今日は、修正ヘッダをテーブルに追加するのに役立つ指令を作成する必要があります。私が見つけたすべてのディレクティブは、列のサイズを処理する方法のために十分ではありませんでした(私はまだ命題のために開かれています)。AngularJS:ディレクティブから生成されたデータにアクセスする方法は?
jQueryで作成された「古い」関数を使用していますが、これをディレクティブに変換しようとしています。目標は、表(または表のヘッダー)をクローンし、隠れ/表示機能とその良好な結果を得るための位置を扱うことです。
私の問題:私はそのようなもので、私のディレクティブで<th>
要素を取得しようとしている
<table>
<thead>
<tr>
<th></th> // true th elements, used for styling my table
<th></th>
<th class='text-center' ng-repeat="thing in things">
{{thing.label}}
</th>
</tr>
</thead>
<tbody>
// my tbody
</tbody>
</table>
:私のテーブルのヘッダが生成された列と動的である
angular.forEach(elem.querySelectorAll('tr:first-child th'), function (thElem, i) {
console.log(thElem)
// do stuff here
}
});
をしかし、私はちょうど私のコードの "真の"要素である最初の2つの<th>
を取得します。 ng-repeatによって生成される他のすべては無視されます。または私の指示に注入されません。
私はtransclude属性を見てきましたが、動作するものは見つかりませんでした。ある精度で私を助けることができますか?
編集:ここに私の指示の始まりです:
myApp.directive('fixMe', function ($window) {
return {
restrict: 'A',
link: function (scope, element, attrs) {
angular.forEach(element.querySelectorAll('th'), function (thElem, i) {
console.log(thElem);
var columnWidth = thElem.offsetWidth;
thElem.style.width = columnWidth + 'px';
});
}
};
})
私は理解してかはわからない - あなたは ''内のすべてのものを取ると、ディレクティブの内側にそれを置くことをしたいですか?コードをディレクティブテンプレートに入れることはできませんか? – Ozrix
+0
A
0
+0
+0
要素を複製します。配列内に3つの項目がある場合は、3つの というタグがthing.labelで作成されます。あなたは体のために同じことをすることができます、あなたも動的な行を持っているように。 –
fayzaan
0
関連する問題
-
1. 動的に作成されたディレクティブからコントローラスコープにアクセスする方法
-
2. Rails - コントローラからイニシャライザで生成されたデータにアクセスする方法
-
3. angularjsの$ localStorageに保存されたデータにアクセスする方法
-
4. angularjsディレクティブでイベントリスナー関数を生成する方法は?
-
5. AngularJsディレクティブ - ディレクティブ内から属性値を取得する方法
-
6. ASP.NET VB - 動的に作成されたTextBoxからデータにアクセスする方法
-
7. angularJSディレクティブのネストされたdivからクラス名を見つける方法
-
8. Angularjsのネストされたディレクティブをjavascriptでコンパイルする方法
-
9. AngularJSネストされたディレクティブでの双方向データのバインド
-
10. FireBaseからネストされたNSDictionaryデータにアクセスする方法
-
11. 計算されたプロパティVue.jsからデータにアクセスする方法
-
12. AngularJS - ディレクティブのリンク関数で隔離されたスコープにアクセス
-
13. 配列からテーブルを生成するためのAngularJSディレクティブをコードする正しい方法
-
14. AngularJS Scopeからデータにアクセスする方法
-
15. AngularJS $ stateParams - ネストされたJSONデータにアクセス
-
16. AngularJSディレクティブのグローバル変数にアクセスする方法
-
17. NSJSONSerializationから生成されたNSDictionary内のJSONデータにアクセスする
-
18. AngularJSディレクティブは、コントローラからのアクセスを属性にします。
-
19. ディレクティブから生成された要素を取得し、コントローラ
-
20. ng-repeat内のディレクティブからコントローラスコープにアクセスする方法は?
-
21. 属性ディレクティブからng-modelにアクセスする方法は?
-
22. 同じ方法でFormFLowから保存されたデータにアクセスする方法
-
23. メソッドをディレクティブに渡してネストされたディレクティブにデータを渡す方法
-
24. AngularJS:親コントローラからのトランスコードされたディレクティブ内に配置されたフォームのアクセスformController
-
25. ネイティブコードから生成されたAndroid Rクラスにアクセスする
-
26. サブパッケージから生成されたApolloクラスにアクセスする - Kotlin
-
27. AsyncTaskで生成されたデータを保持する方法は?
-
28. AngularJSでディレクティブをリロードする方法は?
-
29. 別のドッカーコンテナで生成されたデータにアクセスする
-
30. AngularJSカスタム生成ディレクティブ動的アトリビュートバインディング
最新の質問
-
1. ggplot2の凡例の塗りつぶし値が正しくありません
-
2. TFS 2015アップデート3のすべてのリリース/ビルド定義のバーンダウンチャートを設定できますか?
-
3. C#Async(Factory)メソッドとLINQ
-
4. 1つのコントローラーアクションで多くのデータベースラウンドトリップを実行することはOKですか
-
5. ListViewからアクティビティを開始し、次のアクティビティを開始します
-
6. リミットチェック
-
1. 動的に作成されたディレクティブからコントローラスコープにアクセスする方法
-
2. Rails - コントローラからイニシャライザで生成されたデータにアクセスする方法
-
3. angularjsの$ localStorageに保存されたデータにアクセスする方法
-
4. angularjsディレクティブでイベントリスナー関数を生成する方法は?
-
5. AngularJsディレクティブ - ディレクティブ内から属性値を取得する方法
-
6. ASP.NET VB - 動的に作成されたTextBoxからデータにアクセスする方法
-
7. angularJSディレクティブのネストされたdivからクラス名を見つける方法
-
8. Angularjsのネストされたディレクティブをjavascriptでコンパイルする方法
-
9. AngularJSネストされたディレクティブでの双方向データのバインド
-
10. FireBaseからネストされたNSDictionaryデータにアクセスする方法
私の目標は、(行数、列数などに関係なく)どのテーブルでも動作する命令を持つことです。テンプレートでそれを行うことはできますか? – Thib
答えて
ご使用NGリピートするので、あなたは一意のIDを追加し、要素を取得するためにバニラのJSを使用することができます。
あなたが何をしたいかによって、クリック時の変更を処理したい場合は、ng-clickを使用して関数を使用して要素を取得することもできます。ng-click = " doSomething($ event) "となります。
出典
2016-04-27 23:06:34 fayzaan
私が前のコメントで言ったように、私の目標は、どのテーブルでも動作するような指示文を作成することです。私は範囲に頼ることができない、私は? – Thib
ng-repeatを使用すると、どのテーブルでも動作するように動的になります。 ng-repeatは、配列の最後まで
は、私はまだわからないので、これはあなたが望むものであるならば、ここに野生の推測を取るつもりですが、要素の任意の集合を得るために、あなたはトランスクルー使用できます。
をDemo(コンソールログをチェックし、動的に
<th>
要素はtr.scope.cells
オブジェクトに含まれる)出典
2016-04-28 09:18:31 Ozrix
関連する問題