<em id="lhr1t"><big id="lhr1t"></big></em>

      <pre id="lhr1t"><span id="lhr1t"><progress id="lhr1t"></progress></span></pre>

        <rp id="lhr1t"><track id="lhr1t"><th id="lhr1t"></th></track></rp>

              Amaze UI

              Web 組件

              兼容大多瀏覽器的類 Web Components 組件

              Web 組件


              Amaze UI Web 組件把一些常見的網頁組件拆分成不同的部分,進行類似 Web Components 的封裝(Web 組件簡介開發規范)。

              • 文檔中提及的「云適配 WebIDE」為云適配開發的網站適配工具,詳情請點擊訪問
              注意:Web 組件不考慮 IE 8/9 支持。

              Web 組件演示

              Amaze UI 目前封裝了 10 余個主要面向移動端的 Web 組件(獨立窗口中瀏覽 Demo)。

              使用場景

              使用模板

              通過模板(hbs)將數據和 HTML 分離,這是 Web 組件的價值之一。用戶可以在不同的開發環境中使用 Web 組件。

              純瀏覽器環境

              Amaze UI 提供的開發模板中,包含一個 widget.html 文件,里面展示了 Widget 在純瀏覽器環境中的使用。

              要點如下:

              1. 引入 Handlebars 模板 handlebars.min.js
              2. 引入 Amaze UI Widget helper amui.widget.helper.js
              3. 根據需求編寫模板 <script type="text/x-handlebars-template" id="amz-tpl">{{>slider slider}}</script>
              4. 傳入數據,編譯模板并插入頁面中。
              $(function() {
                var $tpl = $('#amz-tpl');
                var source = $tpl.text();
                var template = Handlebars.compile(source);
                var data = {};
                var html = template(data);
              
                $tpl.before(html);
              });

              Node.js 環境

              可以結合 Express.jshbs 使用。

              用戶了可以直接使用打包好的模塊 Amaze UI Widget hbs helperexample 里有完整的使用示例。

              當然,你也可以自由調用:

              首先,把 Web 組件的模板注冊為 partial

              // ...
              var hbs = require('hbs');
              
              app.set('view engine', 'hbs');
              
              hbs.registerPartials(widgetDir + '/slider/src');

              然后, 在頁面模板中調用 partial,其中 data 為組件對應的數據。

              {{>slider data}}

              PHP

              參考以下鏈接:

              Java

              必須的 helper

              無論你在上面那種環境中使用 Web 組件,都必須注冊下面的 helper(我們提供的 amui.widget.helper.js 和 Node.js 模塊中已經注冊):

              (function(hbs) {
                hbs.registerHelper("ifCond", function(v1, operator, v2, options) {
                  switch (operator) {
                    case "==":
                      return (v1 == v2) ? options.fn(this) : options.inverse(this);
              
                    case "!=":
                      return (v1 != v2) ? options.fn(this) : options.inverse(this);
              
                    case "===":
                      return (v1 === v2) ? options.fn(this) : options.inverse(this);
              
                    case "!==":
                      return (v1 !== v2) ? options.fn(this) : options.inverse(this);
              
                    case "&&":
                      return (v1 && v2) ? options.fn(this) : options.inverse(this);
              
                    case "||":
                      return (v1 || v2) ? options.fn(this) : options.inverse(this);
              
                    case "<":
                      return (v1 < v2) ? options.fn(this) : options.inverse(this);
              
                    case "<=":
                      return (v1 <= v2) ? options.fn(this) : options.inverse(this);
              
                    case ">":
                      return (v1 > v2) ? options.fn(this) : options.inverse(this);
              
                    case ">=":
                      return (v1 >= v2) ? options.fn(this) : options.inverse(this);
              
                    default:
                      return eval("" + v1 + operator + v2) ? options.fn(this) : options.inverse(this);
                  }
              })(Handlebars);

              不使用模板

              不使用模板似乎就失去了 Web 組件的核心價值,但有用戶可能真想這么用。

              這就回歸到最原始的網頁書寫方式了:

              1. 引入 Amaze UI 的 CSS 和 JS 文件;
              2. 按照 Web 組件的模板組織 HTML(可以點擊左側菜單進入組件演示頁面拷貝示例代碼,當然,你也可以使用其他模板引擎,只要渲染出來的結構符合跟 Web 組件相同就行)。
              側欄導航
              Amaze UI 微信
              在微信上關注我們
              2018精准生肖特马诗句 蓝月亮246精选资料大全| 精选二四六天天资料| 香港最准一肖中特公开选料1| 四肖选一肖一码期期准| 蓝月亮246精选资料大全| 蓝月亮精选料免费大全| 四肖选一肖一码期期准| 白小姐四肖必选一肖| 四肖选一肖期期准香港| 蓝月亮精选料免费大全| 白小姐六肖选一肖中特| 四肖选一肖期期准香港| 精选二四六天天资料| 蓝月亮246精选资料大全| 白小姐四肖选一肖期准| 香港曾道六肖精选一肖| 刘伯温全年料四肖选一肖| 四肖选一肖一码期期准| 刘伯温全年料四肖选一肖| 王中王中特免费公开资料选料| 一肖中特免费资料公开选料| 一肖中特免费资料公开选料| 白小姐六肖选一肖中特| 白小姐精选三肖期期准| 一肖中特免费资料公开选料| 管家婆四肖精选期期准| 香港蓝月亮精选免费资料大全| 香港蓝月亮精选免费资料大全| 香港最准一肖中特公开选料1| 四肖选一肖期期准香港| 白小姐精选三肖期期准| 四肖选一肖期期准香港| 香港曾道六肖精选一肖| 白小姐四肖必选一肖| 四肖选一肖期期准香港| 白小姐四肖选一肖期准| 精选二四六天天资料| 王中王中特免费公开资料选料| 白小姐四肖选一肖期准| 白小姐四肖选一肖期准| 蓝月亮料精选资料免费|