Ukulelejs v1.0 發布 - 羽量級JS Framework

jopen 10年前發布 | 13K 次閱讀 Ukulelejs

作者個人編寫的超輕量級Javascript框架,底層依賴于jquery,主要功能提供了js Object對象與html標簽綁定的two way binding。(類似Angularjs)

什么是Ukulelejs?
作者個人編寫的超輕量級Javascript框架(壓縮后大小僅僅為6 kb),底層依賴于jquery,主要功能提供了JS Object與html標簽two way binding。(類似Angularjs)

第一個Hello World

<body>
    <div uku-application>
        <input type="text" uku-value="myCtrl.message">
        <br/>
        <p>{{myCtrl.message}}</p>
    </div>
</body>
<script type="text/javascript">
    function MyController() {
        this.message = "";
    }

    $(document).ready(function () {
        var ukulele = new Ukulele();
        ukulele.registerController("myCtrl", new MyController());
        ukulele.init();
    });
</script>

hello world演示地址

Ukulelejs v1.0目前提供的主要功能

  • uku-repeat標簽循環渲染

    • <ul><li uku-repeat="item in myCtrl.items">{{item.name}}</li><ul>
  • anyObject.anyAttribute 與 任意 html標簽的attribute綁定

    • <input type="text" uku-value="myCtrl.message">
  • anyObject.anyAttribute 與 html標簽的text綁定

    • <p>{{myCtrl.message}}</p>
  • anyObject.anyFunction 與 任意 html標簽的attribute綁定

    • <input type="text" uku-value="myCtrl.getMessage()">
  • anyObject.anyFunction 與 任意 html標簽的text綁定

    • <p>{{myCtrl.getMessage()}}</p>
  • anyObject.anyFunction 與 任意 html標簽的onXXXX事件的綁定

    • <button uku-onclick="myCtrl.sayHello()">Say Hello</button>

為何起名叫Ukulelejs

作者本人是一名Ukulele愛好者,Ukulele是一種來自于夏威夷的4弦小吉他,她可愛小巧,方便攜帶,易于學習,并且有著自己獨特的音色。作者期望Ukulelejs也能給使用她的人帶來相同的感受。

Ukulelejs v1.0 發布 - 羽量級JS Framework

后續版本將要加入的功能

最近的一個版本應該會加上include的功能,即在一個html頁面中支持引入其他的html代碼。這樣做的目的是用戶可以定制可重用的Component,方便開發。

How to use

值得一提的是Ukulelejs沒有api文檔,所有的使用方法歸結為5點

  1. 引入jquery和ukulelejs.js,注意先后順序

    1. <script type="text/javascript" src="jquery-2.1.4.min.js"></script>
      <script type="text/javascript" src="ukulele.min.js"></script>
  2. 在document的ready中,聲明一個Ukulelejs對象,并注冊你要綁定的Object

    1. function MyController(){
          this.message = "";
      }
      $(document).ready(function(){
          var uku = new Ukulele();
          uku.registerController("myCtrl",new MyController());
          uku.init();
      });
  3. 在你想要循環渲染的地方使用uku-repeat標簽

    1. 具體使用方法參考上文 “Ukulelejs v1.0目前提供的主要功能

  4. 在你想要綁定的html屬性前加上uku-,在你想要綁定的text處,加上{{ }},在你想要綁定的事件前也加上uku- 

    1. 具體使用方法參考上文 “Ukulelejs v1.0目前提供的主要功能

  5. Ukulelejs支持多層的repeat嵌套(n層for循環),也支持深度attribute/function綁定(anyObject.attr1.subattr2.xxx.yyy.xxx)

關于作者

作者原本是一位資深Flex程序員,接觸了JavaScript后希望,JavaScript也能和Flex的Native功能一樣,支持model binding和id select 兩者并存的開發模式,所以參考Angular,開發了這套框架

Source Code

Git: https://git.oschina.net/momoko8443/ukulelejs.git

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!