<noframes id="5hjpd"><progress id="5hjpd"><form id="5hjpd"></form></progress>

    <noframes id="5hjpd">

    <span id="5hjpd"><progress id="5hjpd"><progress id="5hjpd"></progress></progress></span>
      <noframes id="5hjpd">
      <ins id="5hjpd"><sub id="5hjpd"><rp id="5hjpd"></rp></sub></ins>
      <del id="5hjpd"><big id="5hjpd"></big></del>
      <track id="5hjpd"></track>

      AvalonJS

      迷你簡單易用的前端MVVM框架。

        avalon是一個簡單易用迷你的MVVM框架,它最早發布于2012.09.15, 為解決同一業務邏輯存在各種視圖呈現而開發出來的。 事實上,這問題其實也可以簡單地利用一般的前端模板加jQuery 事件委托 搞定, 但隨著業務的膨脹, 代碼就充滿了各種選擇器與事件回調,難以維護。 因此徹底的將業務與邏輯分離,就只能求助于架構。 最初想到的是MVC,嘗試過backbone,但代碼不降反升,很偶爾的機會,碰上微軟的WPF, 優雅的MVVM架構立馬吸引住我,我覺得這就是我一直尋找的解決之道。

      avalon

        avalon將所有前端代碼徹底分成兩部分,視圖的處理通過綁定實現(angular有個更炫酷的名詞叫指令), 業務邏輯則集中在一個個叫VM的對象中處理。我們只要操作VM的數據,它就自然而然地神奇地同步到視圖。 顯然所有神秘都有其內幕,C#是通過一種叫訪問器屬性的語句實現,那么JS也有對應的東西。 感謝上帝,IE8最早引入這東西(Object.defineProperty),可惜有BUG,但帶動了其他瀏覽器實現它, IE9+便能安全使用它。 對于老式IE,我找了好久,實在沒有辦法,使用VBScript實現了。

        Object.defineProperty或VBS的作用是將對象的某一個屬性,轉換一個setter與getter, 我們只要劫持這兩個方法,通過Pub/Sub模式就能偷偷操作視圖。為了紀念WPF的指引, 我將此項目以WPF最初的開發代號avalon來命名。 它真的能讓前端人員脫離DOM的苦海,來到數據的樂園中!

        Avalon中文官網:http://avalonjs.github.io/

        Avalon中文社區:http://www.avalon.org.cn/

        Avalon神器入門教程:http://www.cnblogs.com/vajoy/p/4063824.html

        基于avalon的組件庫-OniUI:http://ued.qunar.com/oniui/index.html#!/widgets

      欧美精品久久久久久久自慰

      <noframes id="5hjpd"><progress id="5hjpd"><form id="5hjpd"></form></progress>

        <noframes id="5hjpd">

        <span id="5hjpd"><progress id="5hjpd"><progress id="5hjpd"></progress></progress></span>
          <noframes id="5hjpd">
          <ins id="5hjpd"><sub id="5hjpd"><rp id="5hjpd"></rp></sub></ins>
          <del id="5hjpd"><big id="5hjpd"></big></del>
          <track id="5hjpd"></track>