2012-04-02 12 views
10

私は自分のviewModelにオブジェクトのツリーを持っています。ルート内のノードのオブジェクトで満たされ、ルートノードは、二つの配列オブジェクトknockoutjsを使用して階層(ツリー)を表示する

function Node() { 
    var self = this; 
    self.otherNodes = ko.observableArray([]); 
    self.moreNodes = ko.observableArray([]); 
} 

ので、ViewModelには持っている:オブジェクトは、このようなものです。それらのノードは、順番に、それらのアレイ内のより多くのノードを任意に深く有することができる。

このデータ構造を表示するのが難しいです。ツリーは常に私に再帰を示唆していますが、私はknockoutjsを使ってそれを行う方法がわかりません。助言がありますか?

答えて

12

テンプレートバインディングが自分自身を参照することができます。

http://jsfiddle.net/rniemeyer/UmBku/2/

ここにいくつかのより多くのヒント:のhttp://

https://groups.google.com/forum/?fromgroups#!topic/knockoutjs/-x4X2AJK0HY

+9

ここでは、もう少し簡単な例で、追加のフィドル、ありますjsfiddle.net/rniemeyer/yHaZT/ –

+1

Ryan、更新のおかげで、元のフィドルと私はちょうどリンク先の著者だったので、この答えのクレジットを得るべきです:):ありがとうあなたの仕事はすべて一般的にコについての質問に答えるためのトンですが、あなたは大きな助けになりました! –

+0

ありがとうKarl。クレジットを得る心配はありません。 –

関連する問題