jCT使用チュートリアルの[UIコンポーネント]Tree


SVNは更新された.最新ダウンロード:jCTの最新バージョン
もっと多くの情报は私のブログの中のjCT特集を见てください、あるいはjCTオープンソースホームページの例の中で最も简単な例があって、また私は更に兴味のあるあなたが直接htmlコードと需要を提出することができることを望んで、私达はどのようにjCTの方法で书くことを讨论します.
=====================================================
jCTはフロントテンプレートであるが、それ自体がUIコンポーネントを設計する機能を有する.今日はTreeで実戦します.
通常treeのデータは一般的に単独で取得され、私たちが手動でシミュレーションのデータを作るのを便利にするために.
同じように、スタイルの定義に対して、私も怠け者で、先に彼を気にしないで、実はするのは簡単ですが、これは重点ではありません.
 
<ul>
<!---/*+findsub*/
	var D=this.D,pid=arguments[0];
	var re=[];
	for(var i=0;i<D.length;i++)
		if(D[i].pid==pid) re.push(D[i]);
	return re;
-->
<!---
	var D=arguments[0];
	for(var i=0;i<D.length;i++){
-->
<li>+-D[i].name-+</li>
<!---
	var Sub=this.findsub(D[i].id);
	if(Sub.length){
-->
<li><!---this.GetViewContinue(Sub);--></li>
<!---}} -->
</ul>

findsubはサブtreeを検索するための関数を定義しています.もちろん、独立して書くこともできます.GetView Continueは再帰的な呼び出し方法です.treeの動作には再帰的な成分があるので、なぜGetViewを使わないのですか.GerViewは出力キャッシュを空にするため、再帰的なニーズに合致しない.
これだけ短い!そしてスタイルをコントロールするには、勝手に書くことができます!例えばi=0またはi=D.length-1と判断するまで簡単である.対応するclassやstyleを少し増やしただけです.
jCTのプロジェクトのホームページでテストのコードを書きました(まだ埋め込みテンプレートの方法を採用しています.これは最も簡単な使い方ですから)
http://jsct.googlecode.com/svn/trunk/jCT/example/example4.html
 
このコードは簡潔だと思いますか?制定度は高いですか?