layui实际项目使用过程中遇到的兼容性问题及解决

发布时间:2023-4-25 10:03

本文记录自己在layui的实际使用过程中遇到的一些兼容性问题,烂笔头>>>大脑

layui在vue项目中不能自动渲染的问题。

下载layui源码到本地,在vue的项目中引用,会出现layui的组件渲染失败,只有手动调用render函数才能渲染成功的问题。

原因是,layui的自动渲染和vue的自动渲染有冲突,只需要将layui中的form.js和element.js的自动渲染关闭就可以了,我这里是直接将layui中的自动渲染给屏蔽掉了。

在这里插入图片描述

在这里插入图片描述

layui中获取layui路径方法不兼容IE11的问题

控制台打印报错: Layui hint: css/modules/laydate/default/laydate.css?v=5.0.9 timeout

layui的弹出层组件、时间组件、穿梭组件等都不能正常使用。

原因是,layui中的获取layui文件路径的方法不兼容IE11。导致在IE11下,项目找不到该组件,所以组件当然就不能正常使用了。

在这里插入图片描述

解决方法

在这里插入图片描述

将上面红框内的代码用下面代码替换:

//获取layui所在目录
  ,getPath = function(){
    var jsPath = doc.currentScript ? doc.currentScript.src : function(){
      var head = document.head || document.getElementsByTagName('head')[0];
      var js = head.children
          , last = js.length - 1
          , src;
      for (var i = last; i > 0; i--) {
          if (js[i].readyState === 'interactive') {
              src = js[i].src;
              break;
          }
      }
      return src || js[last].src;
    }();
    return jsPath.substring(0, jsPath.lastIndexOf('/') + 1);
  }()

替换完成之后,就可以重新打包,新打好的包放到项目里面就可以了。

Vue3学习笔记之依赖注入Provide/Inject 网站建设

Vue3学习笔记之依赖注入Provide/Inject

Provide / Inject 通常,当我们需要从父组件向子组件传递数据时,我们使用 props。想象一下这样的结构:有一些深度嵌套的组件,而深层的子组件只需要父组件的部分内容。在这种情况下,如果...
Vue3全局实例上挂载属性方法案例讲解 网站建设

Vue3全局实例上挂载属性方法案例讲解

在大多数开发需求中,我们有时需要将某个数据,或者某个函数方法,挂载到,全局实例身上,以便于,在项目全局的任何位置都能够调用其方法,或读取其数据。 在Vue2 中,我们是在 main.js 中 直...