zoukankan      html  css  js  c++  java
  • 在Vue中使用layer.js弹出层插件

    layer.js(mobile)是一个小巧方便的弹出层插件,在之前的apicloud项目中被大量使用,但最近对apicloud的IDE、非常不友好的文档和极低的开发效率深感厌烦,决定弃用然后转向Vue开发。在开发过程中引入layer.js的时候遇到了麻烦。原因是layer.js不支持import导入,这时就需要修改一下它的源码。在看过它的源码后,发现需要修改的地方只有两处,

    源码中已经暴露了一个全局变量layer,故只需在脚本末尾处添加

    export default layer;

    这表示将这个全局变量导出。

    然后在文件中找到下面的代码注释掉,这段代码是为layer添加样式的,但使用的路径不对,故没有太大帮助。

    document.head.appendChild(function() {
        var link = doc.createElement('link');
        link.href = path + 'need/layer.css?2.0';
        link.type = 'text/css';
        link.rel = 'styleSheet'link.id = 'layermcss';
        return link;
    } ());

    接下来把layer.js和layer.css分别放入static/js和static/css中,在需要的地方,比如组件内部或者全局注册,因为项目多处都会用到,所以采用全局注册,在main.js中

    import layer from '../static/js/layer.js'

    layer.css也使用全局注册,它可以放在index.html中通过link引入,也可以放在App.vue中

    <!--index.html-->
    <link rel="stylesheet" href="./static/css/layer.css" />
    <!--或者-->
    <!--App.vue-->
    <style>
    @import "../static/css/layer.css";
    </style>

    接下来就能在各个组件中使用layer.open等方法了。

    这种方式应该可以适用于各种不支持import导入的脚本,即非npm提供的module。

  • 相关阅读:
    Jmeter(四十一)分布式测试(转!)
    Jmeter(四十)BeanShell范例
    Jmeter(三十九)User.Properties定义全局变量
    Jmeter(三十八)Jmeter Question 之 ‘批量执行SQL语句’
    接口测试“八重天”---HttpClient
    常见的性能测试误区
    UI“三重天”之appium(一)
    Jmeter(三十七)源码导入IDE(转!)
    UI“三重天”之selenium--常用API和问题处理(三)
    kotlin 1.3
  • 原文地址:https://www.cnblogs.com/undefined000/p/import_layerjs_in_vue.html
Copyright © 2011-2022 走看看