このplunkには、DOMに要素を追加するディレクティブがあります。ループでchildren()
を使用しようとすると、私は例外を受け取りますforEach
は関数ではありません。 children()
は、これが動作すると期待していた配列を返します。子供たちを得る方法?ディレクティブのDOM要素の子をループする
Javascriptを:
directive.link = function (scope, element, attrs) {
var wrap = angular.element('<div id="wrap"></div>');
var wrapc = $compile(wrap)(scope)
element.append(wrapc);
var node1 = angular.element('<div id="node1"></div>');
var node1c = $compile(node1)(scope)
wrapc.append(node1c);
var node2 = angular.element('<div id="node2"></div>');
var node2c = $compile(node2)(scope)
wrapc.append(node2c);
var children = wrapc.children();
children.forEach(function(elem){ // <-- this doesn't work
console.log(elem.attr('id'));
});
};
チェック '子供()'メソッドは約束を返した場合、私は通常の配列/オブジェクトを期待して約束にぶつかってしまう:
はplunkerを更新しました。 – M22an
いいえ、それは約束を返すようではありません – ps0604
ええ、Angularの 'angular.element.children()'のドキュメントは、jQueryに相当するものを指しています。 'children'変数をログに記録するとどうなりますか? – M22an