<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          SanMVVM 的組件框架

          聯(lián)合創(chuàng)作 · 2023-09-19 11:25

          San 是一個 MVVM 的組件框架。它體積小巧(12K),兼容性好(IE6),性能卓越,是一個可靠、可依賴的實現(xiàn)響應(yīng)式用戶界面的解決方案。

          San 具有以下特性

          San 通過聲明式的類 HTML 視圖模板,在支持所有原生 HTML 的語法特性外,還支持了數(shù)據(jù)到視圖的綁定指令、業(yè)務(wù)開發(fā)中最常使用的分支、循環(huán)指令等,在保持良好的易用性基礎(chǔ)上,由框架完成基于字符串的模板解析,并構(gòu)建出視圖層的節(jié)點關(guān)系樹,通過高性能的視圖引擎快速生成 UI 視圖。San 中定義的數(shù)據(jù)會被封裝,使得當(dāng)數(shù)據(jù)發(fā)生有效變更時通知 San 組件,San 組件依賴模板編譯階段生成的節(jié)點關(guān)系樹,確定需要變更的最小視圖,進而完成視圖的異步更新,保證了視圖更新的高效性。

          組件是 San 的基本單位,是獨立的數(shù)據(jù)、邏輯、視圖的封裝單元。從頁面角度看,組件是 HTML 元素的擴展;從功能模式角度看,組件是一個 ViewModel。San 組件提供了完整的生命周期,與 WebComponent 的生命周期相符合,組件間是可嵌套的樹形關(guān)系,完整的支持了組件層級、組件間的通信,方便組件間的數(shù)據(jù)流轉(zhuǎn)。San 的組件機制,可以有效支撐業(yè)務(wù)開發(fā)上的組件化需求。

          San 支持組件反解,以此提供服務(wù)端渲染能力,可以解決純前端渲染導(dǎo)致的響應(yīng)用戶交互時延長、SEO 問題。除此之外,San 還提供了一些周邊開源產(chǎn)品,與 San 配合使用,可以幫助開發(fā)者快速搭建可維護的大型 SPA 應(yīng)用。

          現(xiàn)在,我們從一些簡單的例子,開始了解 San。這些例子可以從這里找到。

          Hello

          var MyApp = san.defineComponent({
              template: '<p>Hello {{name}}!</p>',
              initData: function () {
                  return {
                      name: 'San'
                  };
              }
          });
          var myApp = new MyApp();
          myApp.attach(document.body);

          可以看到,通常情況實用 San 會經(jīng)過這么幾步:

          1. 我們先定義了一個 San 的組件,在定義時指定了組件的 內(nèi)容模板 與 初始數(shù)據(jù) 。

          2. 初始化組件對象

          3. 讓組件在相應(yīng)的地方渲染

          額外提示:在 JavaScript 中書寫 HTML 片段對維護來說是不友好的,我們可以通過 WebPack、AMD plugin、異步請求等方式管理。這里為了例子的簡單就寫在一起了。

          瀏覽 21
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲秘 无码一区二区 | 国产又爽 又黄 免费网站在线观看 | 人人操人人操人人操人人操人人操 | 俺来操| 91伊人大香蕉 |