私はアプリケーションにツリービューを表示するためにAngular-Tree-Componentを使用しています。しかし、一度ノード上にいれば、そのノードの下にあるすべての子どもとその子どものリストを取得する必要があります。アングルツリーコンポーネントのすべての子供からIDを取得するにはどうすればいいですか?
私は彼らが私がでてるノードの下にすべてのノードのために呼び出され、そのドキュメントdoForAllの機能を持っていることがわかりました。
https://rawgit.com/500tech/angular-tree-component/master/doc/interfaces/api.itreenode.html#doforall
私はその関数を呼び出すことができますし、私が行うとき、それは正常に動作しますconsole.logですが、自分のノードのIDを配列にプッシュしようとすると、最初の要素しか取得できません。
getChildren(node: TreeNode) {
node.doForAll((data) => {
console.log(data.id);
this.guideArray.push(data.id);
});
console.log(this.guideArray);
}
がプッシュした直後に、最後にconsole.logを移動してみてください - ループ内で、それがその後、動作するかどうかを確認します..確かではありませんが、doForAll内の 'this'はコマンドが完了したときに 'this'と異なる場合があります。あなたの調査結果を教えてください!何らかのバインドコマンドが必要な場合があります。 – JGFMK
@JGFMK配列にプッシュした後にconsole.logを移動すると、コンソール上でIDを押すことがわかりますが、配列[0]を展開するとすべての要素が表示されます – Ennio
そのスクリーンショットを挿入できますか質問。おそらく、単に移動するのではなく、行を複製するだけです。最後にはconsole.log( "final:"、this.guideArray);を実行します。 – JGFMK