最近我开发的公司的竞赛网站被发现在IE11下排行榜无数据,但是在其他浏览器没问题,我然后打开控制台一看,发现了如下错误:
真是醉了,然后发现有三个可行的方案:
直接采用 polyfill
在index.html中
<script src = "https://cdn.polyfill.io/v2/polyfill.min.js"></script> 或 <script type="text/javascript" src ="https://cdn.polyfill.io/v2/polyfill.min.js"></script>
手写 js 脚本判断一下
<script type="text/javascript"> function isIE() { if (!!window.ActiveXObject || "ActiveXObject" in window) { return true; } else { return false; } } if (isIE()) { var script = document.createElement('script'); script.type = 'text/javaScript'; script.src = 'js/bluebird.min.js'; // bluebird 文件地址 // http://cdn.jsdelivr.net/bluebird/3.5.0/bluebird.min.js document.getElementsByTagName('head')[0].appendChild(script); } </script>
安装新的依赖
1、npm install --save babel-polyfill
2、在main.js文件的顶部引入 import "babel-polyfill"
3、在build目录下webpack.config.js
文件设置入口改为如下
(如果你的项目用的是脚手架,在在build目录下webpack.base.config.js
文件更改入口)
model.exports={ entry:{ app: ["babel-polyfill",'./src/main.js'] }
Vue 提倡的单项数据流
在写 vue 组件的过程中,经常会遇到这样的情形:子组件需要的参数以 props 属性里面的 prop 来获得,父组件通过具名的 prop 来把子组件需要的内容传递给子组件,而且 Vue 提倡数据流的方向只能由父组件流向子组件。当父组件的数据发生变化时去通知子组件更改相应的属性,而不能反过来,子组件的变化影响到父组件,这种行为是被禁止的,因为这样会导致数据混乱不易于定位错误。
虽然经常写着写着子组件就想图省事,子组件直接去改变父组件的状态了,但是会报错如下:
那么,子组件为了更改父组件的状态, Vue 提供了两种常见的解决办法:
通过 data 中的变量将需要的 prop 初始化
props: ['initialCounter'], data: function () { return { counter: this.initialCounter } }
使用需要处理的 prop 来定义一个计算属性 computed
props: ['size'], computed: { normalizedSize: function () { return this.size.trim().toLowerCase() } }
当然子组件要想和父组件去进行通信,也可以简单的采用如下方式
$emit 触发事件,父组件接受子组件发布的事件,然后就顺理成章的在父组件里面修改自身的变量了。
关于node中的 module.exports 、 exports 和ES6中的 export 、 export default
node 中,每个文件都被视为一个独立的模块,对外只暴露一个接口(其实就是一个对象): module.exports
module 代表当前模块,它的 exports 属性负责与外界进行交流,加载一个外来的模块就是加载该模块的 module.exports
属性的内容。
// add.js var temp = 1; var addNumber = function (value) { return value + 1; }; module.exports.temp = temp; module.exports.addNumber = addNumber; // 另一个js文件引用了add.js var add = require('./add.js') console.log('add is', add) // add is { temp: 1, addNumber: [Function: addNumber] } console.log(add.temp) // 1 console.log(add.addNumber(1)) // 2
通常为了方便,每个 node 模块头部有默认的一句话: var exports = module.exports
为了方便可以直接在 exports 对象上加方法,也可以实现对外的改变,但是不可以将 exports 变量指向其它变量,一旦这样做了会切断 exports 和 module.exports
之间的联系。
但是, node 采用了 CommonJs 规范, ES6 采用新规范 import 和 export (对应于 require 和 exports )
//ES6 example.js var temp = 'temp' export {temp} //同样的,export出来的只是一个接口,必须有大括号,除非使用下面介绍的export default //export命令规定的是对外的接口,必须与模块内部的变量建立一一对应关系。通俗来讲,不能使固定的值,应该是一个变量或者一个函数 // use example import {example} from './example.js' console.log(example.temp) // 'temp' // 同样的,ES6也有默认的export写法 export default var temp = 'new'
总结
以上所述是小编给大家介绍的IE11下处理Promise及Vue的单项数据流,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?
更新日志
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]