天天看點

grootjs 簡明教程

grootJs簡明教程

mvvm架構也是解決的一類問題,在某些時候會提高生産效率;

    經過接近一個月的努力,grootJs測試版終于釋出了   

    grootJs是一個mvvm的架構,名字取 grass 和root 兩個單詞的組合,既“草根”之意。在創作的中,本着盡量簡單實用的原則構思完成的

grootJs不同于其他mvvm的三大亮點:

1.model模型自動回收。在架構中加入了垃圾回收機制,程式員不回再為了因不斷建立大量modle不能回收,或不便于回收造成記憶體占用太高而煩惱

2.全新的變量值變化監模型,改善其他mvvm架構對一些動态數組中得變量變化不便于監控的問題

3.全新的ui控件開發接口,是控件的值和頁面頁面模型的值實作同步,操作開發的控件時 就像操作html内置控件一樣

還有更多的新的東西等待你的發覺....

項目位址 https://github.com/time-go/grootJs

Grootjs官網(最新文檔在官網更新)

官網:http://time-go.github.io/grootJs

作者聯系方式:qq289880020,官方技術支援QQ群330603020 如有bug 疑問 或問題 請聯系作者:-)

Hello word(index1.html)

部落格園上的教程不再更新

<html>
<head>
    <title>hello word</title>
    <script src="jquery-1.11.2.min.js"></script>
    <script src="groot.js"></script>
</head>
<body>
<div gt-view="myview">
    <div gt-object="data">
        <input type="text" gt-value-change="say">+<input type="text" gt-value-change="say2"><span
            gt-text="{say}+{say2}"></span>
    </div>
    <input type="button" value="點選" gt-click="fuzhi">
</div>
</body>
</html>
<script>
    groot.view("myview", function (vm, ve) {
        vm.data = {
            say: 1,
            say2: 2
        }
        /*vm.say = 1;
         vm.say2 = 20;*/
        ve.fuzhi = function () {
            vm.data = {say: 10, say2: 50}
            vm.dataRender();
        }
    })
</script>      

說明:程式中首先引jquery,架構的docment操作都是基于jquery的。

gt-view="myview" 是定義一個作用于為myview的範圍,對應的在js裡也有一個 groot.view("myview"...,這個兩個是相對應得;

vm是資料模型,它有個屬性為say,gt-value-change=“say”為綁定這個say屬性 change 表示 輸入框的值變化 vm中say的值就變化;

相應 change該為blur,就  是 輸入框失去焦點的時候 vm.say得值變化;gt-text="say"得意義找個标簽的内容綁定vm.say的值;

大家可以看到随着輸入框的值變化,右邊标簽的值也在變化

目錄

綁定事件

綁定對象

綁定數組

$self $index $first $last parent() outerParent()

grootJs的屬性綁定指令

變量監控 指令 gt-wach

内置子產品加載器(commonjs規範)的使用

grootJs 屬性過濾器

checkbox radio select綁定

groot 引入外部模闆

grootJs屬性擴充 groot.bindExtend

grootJS ui控件定義

grootJs 系統常用API介紹