本文主要介绍移动端。为了避免移动端兼容出现各种奇奇怪怪的bug,所以秉承着能不用复杂的语法就不用,尽量用最基础的语法。 可用惯了各种ES6语法的童鞋们,写原生真是头疼,再加上各种领导催工期,肯定是内心各种烦躁。这里介绍一下,如何在H5中运vue 去写,嵌套到用到app中。
- 首先引入vue CDN ,记得去扒一个vue.js. 下载下来,不要用htpp,这样可以避免有些模块因为网卡导致,页面加载错乱。
<script src="./js/vue.min.js"></script>
<div id="app"></div>
new Vue({
el: "#app",
data:function(){}
})
2.你肯定也想用个uI库,那本人推荐一个vant . 使用看官网。 有的需要vant.Toast 。 安卓6.0 以下常出现数据加载不出的问题。看公司是否全兼容。
<script src="https://cdn.jsdelivr.net/npm/vant@2.2/lib/vant.min.js"></script>
3. 获取后台数据ajax 就够用了。去下载一个本地的吧.
<script src="./js/jquery-2.0.0.min.js"></script>
4. 移动端布局如果是少量的用百分比,display:flex ,这个要做兼容 。 rem 也是可以用的。
// 记得UI尺寸/100 = 实际值 rem 。 默认UI尺寸750px. 小于750px 的手机请用百分比。像vivio6, oppo低版本手机常出现兼容问题。 不过现在大部分手机都已适用,看公司是否全兼容。
<script> var fontSize = 0; (function (doc, win) { //获取html节点和事件 和屏幕变化改变字体大小 const docEl = doc.documentElement, resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize', recalc = function () { const clientWidth = docEl.clientWidth; if (!clientWidth) return; //排除宽度没值 if (clientWidth >= 750) { docEl.style.fontSize = '100px'; } else { docEl.style.fontSize = 100 * (clientWidth / 750) + 'px'; } }; function fontSizeFun() { var size = 0; var clientWidth = docEl.clientWidth; if (!clientWidth) return; //排除宽度没值 if (clientWidth >= 750) { size = 100; } else { size = 100 * (clientWidth / 750); } return size; } if (!doc.addEventListener) return; win.addEventListener(resizeEvt, recalc, false); doc.addEventListener("DOMContentLoaded", recalc, false); fontSize = fontSizeFun(); win.addEventListener(resizeEvt, function () { fontSize = fontSizeFun(); }, false); doc.addEventListener("DOMContentLoaded", function () { fontSize = fontSizeFun(); }, false); })(document, window); </script>
5. ES6 语法的兼容处理。
<script src="https://cdn.polyfill.io/v2/polyfill.min.js"></script>
6. 没有用vue-router, 用到的是 window.location.href 跳的,比较生硬。 看到网上有一种方法: