因为只有两个页面,所以我没有用 vue-cli 搭框架,直接在 HTML 中引入vue.js 文件。发现其他浏览器都能正常显示,ie 下显示不正常,而且还报错,错误信息如下:
原因: 主要是因为 ie 不支持 ES6 的语法。
在 vue-cli 中,ie 浏览器下不显示,需要下载安装 babel-polyfill(npm i babel-polyfill
),同样的,在 html 中使用 vue 的语法时,也需要引入 babel 和 polyfill。这里参考了天天饱的博客。
具体步骤:
1. 下载文件到本地,并且放到自己的 js 文件中;
(1)browser.min.js 源码 : https://blog-static.cnblogs.com/files/gxsyj/browser.min.js
(2)polyfill.min.js 源码:https://blog-static.cnblogs.com/files/gxsyj/polyfill.min.js
2. 在引入 vue.js 之前就引入这两个文件。
<script src="../js/browser.min.js"></script>
<script src="../js/polyfill.min.js"></script>
3. 在 script 标签中 添加 type="text/babel"
。
需要注意的是,这里需要添加属性的 js 文件都是自己写的。其他的就不需要添加,通常都是在网页上下载下来的 js 文件不要添加,例如:vue.js。
<script src="../js/api.js" type="text/babel"></script>
<script type="text/babel">new Vue({el: '#app',data: function() {return { visible: false,tableData: []}},methods:{}})
</script>
因为是第一次只单独写两个页面,有很多不太懂的地方,下一篇我将会把我写这个页面的过程和遇到的问题记录下来:在 HTML 中引入 vue.js 写页面
在这里补充一下,上一篇说到 自己封装的axios是错误示范,其实是自己封装的时候没处理好⁄(⁄ ⁄•⁄ω⁄•⁄ ⁄)⁄ 这里贴一下我封装的axios方法代码,有需要的可以参考一下。
新建一个 http.js 文件放到 js 文件夹下面,复制下面的代码。
(function (){var api = "http://XXXX:XX/"; var axiosMethods = {"axiosPostRequst": function(url, data) { //url是请求地址,data是请求参数var result = axios({method: 'post',url: api + url,data: data,headers:{'Content-Type': 'application/json;charset=UTF-8'}}).then(resp=> {return resp.data;}).catch(error=>{return "exception="+error;});return result;}}return window.axiosMethods = axiosMethods;
})();
//引入
<script src="../js/http.js" charset="UTF-8" type="text/babel"></script>//在 methods 下使用
initData(){axiosMethods.axiosPostRequst('url', this.params) .then(res => {console.log("list",res);if(res.code === "0000"){this.tableData = res.datas.records;this.total = res.datas.total;} else {this.tableData = [];this.$message.error(res.msg);} }).catch(function (error) {console.log(error);}); }