<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## 1 qvm意義 >[info] qvm是一個適用于移動端的迷你mvvm框架。參考vuejs的設計,進行簡化。 >[info] 使用zepto作為基本依賴庫,瀏覽器的原生支持基礎上使用最少代碼實現一個vvm框架 ## 2 vm模型結構 ~~~ $qvm = { $id: 823832887973495 ;qvm對象的全局id。 $elem: #div ;View視圖層節點 $model:{ ;viewmodel 通過指令directive關聯view到model的操作 text:{ ns:ns, ;對象或者指令的namespace assessor:asccessor, ;同一的外部訪問器,vm通過修改它改變 key:text, ;指令名稱 directive:[directive], ;指令集 setter:function, ;對象設置方法 getter:function, ;對象獲取值方法 tpl:#div ;模板字符串 } }, data:{ ;model的數據層 } } ~~~ ## 3 q-text修改節點innertHTML ~~~ <div id="demo" q-text='text'></div> <script type="text/javascript" src="js/zepto.js"></script> <script type="text/javascript" src="js/qvm.js"></script> <script> var vm = qvm.get({ selector:'#demo', data:{ text:'<h2>hello world!</h2>' } }); setTimeout(function(){ vm.text.accessor = '<h2>Fuck world!</h2>'; },4000) </script> ~~~ ## 4 q-class修改節點class ~~~ <style> .red{ color: red; } .green{ color: green; } </style> <div id="demo" q-text='text' q-class="color"></div> <script type="text/javascript" src="js/zepto.js"></script> <script type="text/javascript" src="js/qvm.js"></script> <script> var vm =qvm.get({ selector:'#demo', data:{ text:'<h2>Hello world!</h2>' color:'red' } }); setTimeout(function(){ vm.text.accessor = '<h2>Fuck World!</h2>' vm.class.accessor = 'green'; },4000); </script> ~~~ ## 5 q-attr修改屬性 ~~~ <div><a><img id="demo" q-attr-src="img" width="50" height="30"></a></div> <script type="text/javascript" src="js/zepto.js"></script> <script type="text/javascript" src="js/qvm.js"></script> <script> var vm = qvm.get({ selector: '#demo', data:{ img: 'http://9.url.cn/edu/banner/img/505d9c39_760_300.jpg' } }); setTimeout(function(){ vm.attr_src.accessor = 'http://9.url.cn/edu/banner/img/880facff_760_300.jpg'; },4000) </script> ~~~ ## 6 q-data修改數據值 ~~~ <div id="demo" q-data-title="text"><a><img q-attr-src="img" width="50" height="30"></a></div> <script type="text/javascript" src="js/zepto.js"></script> <script type="text/javascript" src="js/qvm.js"></script> <script> var vm = qvm.get({ selector:'#demo', data:{ text: 'Ps 大神教程', img: 'http://9.url.cn/edu/banner/img/505d9c39_760_300.jpg' } }); setTimeout(function(){ vm.data_title.accessor = '藝術人生'; },4000) </script> ~~~ ## 7 q-repeat嵌套使用 ~~~ <style> .red{ color: red; } .green{ color: green; } </style> <div id="demo" q-class="color" q-repeat="list"> <div> <img q-attr-src="img" width="50" height="30"><span q-text="title" q-class="color"></span> </div> </div> <script type="text/javascript" src="js/zepto.js"></script> <script type="text/javascript" src="js/qvm.js"></script> <script> var list =[{ img: 'http://9.url.cn/edu/banner/img/10b0af94_760_300.jpg', title: '音樂改變世界' },{ img: 'http://9.url.cn/edu/banner/img/880facff_760_300.jpg', title: 'PS 大神教程' },{ img: 'http://9.url.cn/edu/banner/img/505d9c39_760_300.jpg', title: '藝術人生' }]; var vm = qvm.get({ selector: '#demo', data:{ text: '<h2>Hello World!</h2>', color: 'red', list: list } }); setTimeout(function(){ delete list[2]; list[0].title='music change the world'; list[1].title='PS master learning'; vm.class.accessor = 'green'; vm.repeat.accessor = list; },4000); </script> ~~~ ## 8 q-對象內部渲染 ~~~ <style> .red{ color: red; } .green{ color: green; } </style> <div id="demo" q-repeat="list"> <div> <span q-class="color" q-text="title"></span> <span> <img q-attr-src="img.src" width="50" height="30"> </span> <div> </div> <script type="text/javascript" src="js/zepto.js"></script> <script type="text/javascript" src="js/qvm.js"></script> <script> ;data屬性 var data = { title: '<h2>Hello World!</h2>', color: 'red', img: { src: 'http://9.url.cn/edu/banner/img/880facff_760_300.jpg' } }; ;vm var vm = qvm.get({ selector: '#demo', data: { list: data } }); ;數據層操作 setTimeout(function(){ data.color = 'green'; data.title = '<h2>Fuck World!</h2>'; data.img.src = 'http://9.url.cn/edu/banner/img/10b0af94_760_300.jpg'; vm.repeat.accessor = data; },4000); </script> ~~~ ## 9 q-on簡單事件綁定 ~~~ <style> .red{ color: red; } .green{ color: green; } </style> <div id="demo" q-repeat="list" q-on="click|action"> <div> <span q-class="color" q-text="title"></span> <span> <img q-attr-src="img.src" width="50" height="30"> </span> <div> </div> <script type="text/javascript" src="js/zepto.js"></script> <script type="text/javascript" src="js/qvm.js"></script> <script> ;數據層 var data = { title: '<h2>點我!</h2>', color: 'red', img: { src: 'http://9.url.cn/edu/banner/img/880facff_760_300.jpg' } }; ;vm層 var vm = qvm.get({ selector: '#demo', data: { list: data }, action: function(){ alert('點擊事件!'); } }); </script> ~~~ ## 10 q-*自定義directive ~~~ <style> .red{ color: red; } .green{ color: green; } </style> <div id="demo" q-repeat="list" q-on="click|action" q-self='selfProcess'> <div> <span q-class="color" q-text="title"></span> <span> <img q-attr-src="img.src" width="50" height="30"> </span> <div> </div> <script type="text/javascript" src="js/zepto.js"></script> <script type="text/javascript" src="js/qvm.js"></script> <script> ;數據層 var data = { title: '<h2>點我!</h2>', color: 'red', img: { src: 'http://9.url.cn/edu/banner/img/880facff_760_300.jpg' } }; ;vm層 var vm = qvm.get({ selector: '#demo', data: { list: data }, action: function(){ alert('點擊事件!'); }, selfProcess: function(key, vm){ console.log(key, vm); alert('我是一個自定義處理指令!嘿嘿嘿~') } }); </script> ~~~ ## 11 參考 [qvm_api](https://ouvens.github.io/frontend-javascript/2015/08/20/mvvm-qvm-frame.html) [qvm完整代碼](https://github.com/ouvens/qvm)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看