公司合作了一个项目,前端是用的vue构建的 非SPA

项目的最后上线,客户提出必须要 兼容IE8

最后的最后,只能寻求解决兼容方案了。在先用的双向绑定的框架中,我选用了 avalon2

avalon2是一款基于虚拟DOM与属性劫持的 迷你、 易用、 高性能 的 前端MVVM框架, 拥有超优秀的兼容性, 支持移动开发, 后端渲染, WEB Component式组件开发, 无需编译, 开箱即用。

http://avalonjs.coding.me/home.html

吐槽一句:文档写的过于一般,跟vue的文档,真是一个天,一个地....

下面说出一些对比解决的语法

基础部分

new Vue -->  avalon.defineel: -->$idid="xxx" --> ms-controller="footer"去掉data外层包裹去掉methods外层包裹

语法部分

v-model --> ms-duplexv-for --> ms-for ,(index,item)顺序需要替换:href  -->  ms-attr="{href: ''}"v-show --> ms-visible v-html --> ms-htmlv-if --> ms-if:style -->ms-css:class 不用改动:自定义属性 ms-attr="{'xxx': '' +  +''}"  (如果自定义属性有特殊符号切记用 引号包裹)多个自定义属性用逗号隔开:ms-attr="{'a': 'b','c':'d'}"

一个小实例

<script type="text/javascript" src="https://unpkg.com/avalon2@2.2.4/dist/avalon.js"></script>
<div ms-controller="app"><div ms-if="isshow" ms-attr="{'a': 'b','c':'d'}">show attr</div><div ms-for="(index,item) in datas">{{index}}--{{item}}</div><div ms-for="(index,item) in nums">{{index}}</div></div>
<script>var _vm_wbstc = avalon.define({$id: 'app',isshow:true,datas:['a','b','c'],nums:new Array(5),init: function() {}});console.log(_vm_wbstc);_vm_wbstc.init();
</script>

最终花费了1天的时间替换了100多个页面。速度还是比较快速的。

切记:ie8下 参数前务必带上$符号!!!!

这篇先这样,下面一篇文章将讲解对比的 生命周期,事件,组件 等的转换,后续会写一个开源转换器 :) (不能发表情真坑爹)

vue ie8 兼容方案相关推荐

  1. Nerv --- React IE8 兼容方案

    创建项目 创建一个目录,使用npm快速初始化 $ mkdir my-project && npm init -y 安装依赖 安装webpack以及babel $ npm install ...

  2. vw 前端_前端适配之vw兼容方案(Vue版)

    前端适配可以说是前端工程师一个永恒的话题,而解决方案也是层出不穷,其目的都是为了在各个分辨率中最大程度还原设计稿.今天给大家介绍的是vw兼容方案,其原理就是根据视口宽度自动计算页面上的尺寸,无论高度. ...

  3. box-shadow IE8兼容处理

    根据canisue(http://caniuse.com/#search=box-shadow),box-shadow兼容性如下图所示: 测试代码: 1 <!DOCTYPE html> 2 ...

  4. css borderradius ie8,border-radius IE8兼容处理的方法

    测试代码: * { margin: 0; padding: 0; } #header { width: 400px; height: 400px; margin: 10px; border-radiu ...

  5. css borderradius ie8,border-radius IE8兼容处理方法介绍

    根据canisue(http://caniuse.com/#search=border-radius),border-radius兼容性如下图所示: 测试代码: * { margin: 0; padd ...

  6. android popupwindow 自定义背景,Android PopupWindow背景半透明兼容方案

    大家想必对PopupWindow不会很陌生吧,我们在开发中经常会遇到要求使其背景半透明的需求,但网上的很多解决方案只能是在大部分机型上满足要求,像华为这样的机型就会发现我们原来设置的背景变暗效果的代码 ...

  7. IE中的CSS3不完全兼容方案

    IE中的CSS3不完全兼容方案 Opacity透明度 元素的透明度在IE中可以很方便的用滤镜来实现. view source print? 1 background-color:green; 2 op ...

  8. Emoji表情符号兼容方案(适用ios,android,wp等平台)

    http://blog.csdn.net/qdkfriend/article/details/7576524 Emoji表情符号兼容方案 一 什么是Emoji emoji就是表情符号:词义来自日语(え ...

  9. javascript 解决IE8 兼容 placeholder 属性 含password

    javascript 解决IE8 兼容 placeholder 属性 含password function placeholderfun(){if( !('placeholder' in docume ...

  10. js中getBoundingClientRect的作用及兼容方案

    js中getBoundingClientRect的作用及兼容方案 1.getBoundingClientRect的作用 getBoundingClientRect用于获取某个html元素相对于视窗的位 ...

最新文章

  1. at24c16如何划分出多个读写区_如何1分钟遍历100T数据?
  2. MySQL 常用30种SQL查询语句优化方法
  3. Zabbix如何监控Windows机器
  4. 小学期实践心得(1)
  5. python数据挖掘orange
  6. 批处理获取操作系统版本信息
  7. Java面试知识点手工笔记(推荐)(转)
  8. 电子元器件封装知识大全(内含AD封装库下载资料)
  9. php引物,做PCR,如何选取引物?请大家指导
  10. SD和SDHC和SDXC卡的区别是什么
  11. django mysql graphql_GraphQL graphene-django 基本使用文档
  12. python将doc文件转换docx
  13. JavaScript高级程序设计(红宝石书)学习笔记
  14. 如何快速开发一个响应式移动端页面
  15. Linux 磁盘分区及文件系统挂载
  16. POJ 1723 士兵排队 C语言实现
  17. 旷野徒奔-Java底层篇(1.3)
  18. XGBoost中如何防止过拟合
  19. mysql第五章 在线测试_PHP+MySQL实现在线测试答题示例
  20. 工作流引擎被各种开发语言调用的思考

热门文章

  1. 苹果AirPlay浅析
  2. java控制发送邮箱(qq邮箱、网易邮箱、新浪邮箱)
  3. 北方工业大学java_在北方工业大学就读是怎样的一种体验?
  4. css font属性详解
  5. halcon之屌炸天的自标定
  6. 2021年东南大学软件学院电子信息考研信息
  7. 【网启树莓派】无SD卡 从网络驱动树莓派| raspberry boot via pxe
  8. efficientNet论文心得
  9. 2021全球程序员收入报告出炉!
  10. vscode 路径宏_VSCode宏怎么设置?VSCode宏的添加方法!