jCT3改如何改進,邊想邊發

ps:新版已經發布,請看 新版文檔

==========================

 

由於jCT3完全融合了javascript和html的原生語法,且jCT3的擴展方法使得模板代碼生成的對象能與外部javascript文件中的對象合併,所以在實際的使用過程中,似乎沒有必要在模板裏面寫函數語法啦,當然可以寫內部函數,這兩者是不同的,這個先不談。重點是,這樣模板的寫法可以更獨立,有點UI庫的味道。問題是jCT一開始設計的時候並沒有考慮要向這個方向發展,現在看起來要經過一些實踐纔會有所實施。這裏篇文章記錄下思路過程

1.首先GetView方法要支持參數的傳入,實現起來容易,定義一個語法就行了

<!---/*++a,b,c*/-->

當然對於子模板的定義來說這樣寫有些不方便,因此擴展字模板的定義爲

<!---/*+@subname a,b,c*/-->

對應GetView(a,b,c)這樣的定義,寫兩個+號的原因是輸入方便。
2.既然GetView要參數傳遞那麼ExecChilds和BuildChilds也應該可以傳遞參數過去
同理,模板中定義的成員函數也可以用同樣的方法定義參數
3.對於符號的選擇是否要改變一下,目的很簡單就是輸入的方便,比如儘量不用使用shift鍵的字符:@$+,採用-=/'.
爲了書寫的方便,初步決定這樣改造符號,注意空格的重要性,先內測一下,如果沒有問題就更新

子模板定義    <!---///subname a,b,c-->  <!---///subname-->
GetView參數 <!---// a,b,c-->
屬性/函數定義<!---//.attrname javascriptcode[//]--> [<!---}//-->]
例如屬性定義:

<!---//.name 'sdfdsf'-->
<!---//.dat

{
name:'youname',
age:36
}-->
例如函數定義:
單個註釋塊表示
<!---//.fun

function(a,b,c){return a;}

//-->
分離的註釋塊表示,注意這種寫目前還沒有實現方案
<!---//.fun

function(a,b,c){-->
<b>+-a-+<b>
<!---return b;}//-->

4.發現RunNow在兩個不同的時期都會觸發,很容易造成理解和使用上的迷惑和不便,因此把Build和Extend兩個不同時期的自動運行分開來定義BRun和ERun

我也迷茫,如果充分利用jCT擴展的方法,那以前的一些成員定義基本都可以拋棄了,如果加上這個GetView參數定義的話

jCT還要做些什麼才能符合UI庫的設計呢?

輔助方法肯定是要的,這一點早就確定,其它呢?

關於前臺文檔組織的方法:先筆記一下
首先前臺文檔有以下幾部分組成
1.css樣式文件,這個其實是獨立的一個控制,應該是獨立調入的
2.html模板,模板有可能不知道自己要如何組織到DOMtree裏,要靠下面的
3.用於控制html裝配位置的js文件,裏面定義的就是html模板對應的jCT實例對象
4.與後臺服務器通訊的action javascript接口,負責獲取和提交數據
問題,如何書寫模板,如何寫配套的工具來對這幾部分進行整合?
對於具體的寫法是要追求“標準些”,還是簡潔至上?
如果要基於UI的設計來傳遞這些對象的話,貌似只要設置一個動態的id,並且通過action by class的方法傳遞DOMtree中生成的對象就好了。

 

發佈了23 篇原創文章 · 獲贊 0 · 訪問量 5432
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章