IE11下处理Vue的承诺及单项数据流问题

  

最近我开发的公司的竞赛网站被发现在IE11下排行榜无数据,但是在其他浏览器没问题,我然后打开控制台一看,发现了如下错误:

  

 IE11下处理Vue的承诺及单项数据流问题

  

真是醉了,然后发现有三个可行的方案:

  

直接采用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提倡数据流的方向只能由父组件流向子组件。当父组件的数据发生变化时去通知子组件更改相应的属性,而不能反过来,子组件的变化影响到父组件,这种行为是被禁止的,因为这样会导致数据混乱不易于定位错误。

  

虽然经常写着写着子组件就想图省事,子组件直接去改变父组件的状态了,但是会报错如下:

  

 IE11下处理Vue的承诺及单项数据流问题“> <br/>
  </p>
  <p>那么,子组件为了更改父组件的状态,Vue提供了两种常见的解决办法:</p>
  中<p>通过数据的变量将需要的道具初始化<br/>
  </p>
  
  <pre类=   道具:[' 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

  

为了方便可以直接在出口对象上加方法,也可以实现对外的改变,但是不可以将出口变量指向其它变量,一旦这样做了会切断出口和

IE11下处理Vue的承诺及单项数据流问题