最近我开发的公司的竞赛网站被发现在IE11下排行榜无数据,但是在其他浏览器没问题,我然后打开控制台一看,发现了如下错误:
真是醉了,然后发现有三个可行的方案:
直接采用polyfill
在索引。html中
& lt;脚本src=" https://cdn.polyfill.io/v2/polyfill.min.js "祝辞& lt;/script> 或& lt;脚本type=" text/javascript " src=" https://cdn.polyfill.io/v2/polyfill.min.js& # 63;特性=es6祝辞& lt;/script>
手写js脚本判断一下
& lt;脚本type=" text/javascript祝辞 函数isIE () { 如果(! !窗口。ActiveXObject | |“ActiveXObject”窗口){ 返回true; 其他}{ 返回错误; } } 如果(isIE ()) { var=document.createElement脚本(脚本); 脚本。type=' text/javaScript '; 脚本。src=" https://www.yisu.com/zixun/js/bluebird.min.js ";//蓝知更鸟文件地址//http://cdn.jsdelivr.net/bluebird/3.5.0/bluebird.min.js document.getElementsByTagName(头)[0].appendChild(脚本); } & lt;/script>
安装新的依赖
, <代码> npm安装,节省babel-polyfill 代码>
2,在主要。js文件的顶部引入<代码>进口“babel-polyfill”
代码>
3,在构建目录下<代码> webpack.config。js代码>文件设置入口改为如下
(如果你的项目用的是脚手架,在在构建目录下<代码> webpack.base.config。js代码>文件更改入口)
model.exports={ 条目:{ 应用:[“babel-polyfill”,“。/src/main.js ') }
在写vue组件的过程中,经常会遇到这样的情形:子组件需要的参数以道具属性里面的道具来获得,父组件通过具名的道具来把子组件需要的内容传递给子组件,而且vue提倡数据流的方向只能由父组件流向子组件。当父组件的数据发生变化时去通知子组件更改相应的属性,而不能反过来,子组件的变化影响到父组件,这种行为是被禁止的,因为这样会导致数据混乱不易于定位错误。
虽然经常写着写着子组件就想图省事,子组件直接去改变父组件的状态了,但是会报错如下:
道具:[' initialCounter '), 数据:函数(){ 返回{ 柜台:this.initialCounter } }
使用需要处理的道具来定义一个计算属性计算
道具:“大小”, 计算:{ normalizedSize:函数(){ 返回this.size.trim () .toLowerCase () } }
当然子组件要想和父组件去进行通信,也可以简单的采用如下方式
释放美元触发事件,父组件接受子组件发布的事件,然后就顺理成章的在父组件里面修改自身的变量了。
关于节点中的模块。出口,出口和ES6中的出口,出口默认
节点中,每个文件都被视为一个独立的模块,对外只暴露一个接口(其实就是一个对象):<代码> module.exports 代码>
模块代表当前模块,它的出口属性负责与外界进行交流,加载一个外来的模块就是加载该模块的<代码>模块。代码>属出口性的内容。
//add.js var temp=1; var addNumber=function(值){ 返回值+ 1; }; module.exports。temp=temp; module.exports。addNumber=addNumber;//另一个js文件引用了add.js var=需要添加(“。/add.js”) 控制台。日志(“添加”,添加)//添加{临时:1、addNumber:[功能:addNumber]} console.log (add.temp)//1 console.log (add.addNumber (1))//2
通常为了方便,每个节点模块头部有默认的一句话:<代码> var=出口module.exports 代码>
为了方便可以直接在出口对象上加方法,也可以实现对外的改变,但是不可以将出口变量指向其它变量,一旦这样做了会切断出口和