vue-cli脚手架引入弹出层layer插件的几种方法


Posted in Javascript onJune 24, 2019

1.如何引入

在vue-cli里,引入文件有几钟方法

一种是用npm或者cnpm指令去下载对应的插件,然后在main.js里用import方法引入,这里不讨论这种方法

我比较喜欢采用的是直接下载对应的js,然后引入到vue项目中去

问题来了,如何引入呢

方法如下:

  • 下载对应的js文件或者css文件,一般下载插件相关联的都会在一起
  • 进入vue-cli项目工程里的index.html文件,分别引入css文件和js文件

在这里,分别是

<link rel="stylesheet" href="./static/layer.css" rel="external nofollow" /> 
  <script src="./static/jquery.js"></script>
   <script src="./static/jquery.min.js"></script>
   <!-- 必须先引入上面jq 1.8版本以上的才能引layer -->
   <script src="./static/layer.js"></script>

这样在全局文件里都可以使用layer弹出层插件了,需要注意,必须先引入jq 1.8以上的版本才可以使用layer噢。

2.弹出层显示不出

  • 作为一个java开发小菜鸟,踩前端的坑基本是面向百度进行尝试解决,经历了时常两个半小时的挣扎,解决了几个问题:
  • 第一个是前端控制台报错,印象里是i is not a function 还有什么layer.open is not a function等,这些问题基本是出于引入的问题,解决途径:检查是否在之前引入了1.8以上的jq
  • 第二个是弹出层只有文字显示,但是缺乏样式,没有弹出层的feel。经过大量百度和分析,最后还是依靠调试前端样式看出端倪,问题在于里面用到的class在我引入的css文件里并不存在。经过检查,导入的css文件错误(注意有手机的css样式和另一个css,这里要用另一个,名称一样)。最终问题解决。

ps:下面看下在Vue中使用layer.js弹出层插件

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

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

export default layer;1

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

然后在文件中找到下面的代码注释掉,这段代码是为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。

总结

以上所述是小编给大家介绍的vue-cli脚手架引入弹出层layer插件的几种方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
javascript 打开页面window.location和window.open的区别
Mar 17 Javascript
JS中动态添加事件(绑定事件)的代码
Jan 09 Javascript
浅谈javascript中的作用域
Apr 07 Javascript
把字符串按照特定的字母顺序进行排序的js代码
Jan 28 Javascript
javascript学习笔记(七)Ajax和Http状态码
Oct 08 Javascript
在Linux系统中搭建Node.js开发环境的简单步骤讲解
Jan 26 Javascript
DOM中事件处理概览与原理的全面解析
Aug 16 Javascript
Bootstrap基本组件学习笔记之面板(14)
Dec 08 Javascript
node.js 用socket实现聊天的示例代码
Oct 17 Javascript
node.js使用express框架进行文件上传详解
Mar 03 Javascript
实现elementUI表单的全局验证的方法步骤
Apr 29 Javascript
微信小程序new Date()方法失效问题解决方法
Jul 29 Javascript
浅谈一个webpack构建速度优化误区
Jun 24 #Javascript
vue项目中运用webpack动态配置打包多种环境域名的方法
Jun 24 #Javascript
Vue.js+cube-ui(Scroll组件)实现类似头条效果的横向滚动导航条
Jun 24 #Javascript
JavaScript学习教程之cookie与webstorage
Jun 23 #Javascript
React组件对子组件children进行加强的方法
Jun 23 #Javascript
vue使用websocket的方法实例分析
Jun 22 #Javascript
JS实现简单的文字无缝上下滚动功能示例
Jun 22 #Javascript
You might like
PHP静态调用非静态方法的应用分析
2013/05/02 PHP
php class类的用法详细总结
2013/10/17 PHP
PHP封装的一个支持HTML、JS、PHP重定向的多功能跳转函数
2014/06/19 PHP
php面象对象数据库操作类实例
2014/12/02 PHP
laravel如何开启跨域功能示例详解
2017/08/31 PHP
PHP读取文件,解决中文乱码UTF-8的方法分析
2020/01/22 PHP
详解new function(){}和function(){}() 区别分析
2008/03/22 Javascript
jquery ajax学习笔记2 使用XMLHttpRequest对象的responseXML
2011/10/16 Javascript
js网页实时倒计时精确到秒级
2014/02/10 Javascript
nodejs获取本机内网和外网ip地址的实现代码
2014/06/01 NodeJs
教你在heroku云平台上部署Node.js应用
2014/07/30 Javascript
在JavaScript中用getMinutes()方法返回指定的分时刻
2015/06/10 Javascript
jQuery中on绑定事件后引发的事件冒泡问题如何解决
2016/05/25 Javascript
JavaScript  event对象整理及详细介绍
2016/10/10 Javascript
Node接收电子邮件的实例代码
2017/07/21 Javascript
vue数字类型过滤器的示例代码
2017/09/07 Javascript
解决vue2.0动态绑定图片src属性值初始化时报错的问题
2018/03/14 Javascript
小程序实现单选多选功能
2018/11/04 Javascript
150行Node.js实现的dns代理工具
2019/08/02 Javascript
layui-tree实现Ajax异步请求后动态添加节点的方法
2019/09/23 Javascript
element-ui中el-upload多文件一次性上传的实现
2020/12/02 Javascript
[04:09]2018年度DOTA2社区贡献奖-完美盛典
2018/12/16 DOTA
[01:02:32]DOTA2-DPC中国联赛 正赛 iG vs PSG.LGD BO3 第二场 2月26日
2021/03/11 DOTA
Python多线程编程(八):使用Event实现线程间通信
2015/04/05 Python
详解python实现小波变换的一个简单例子
2019/07/18 Python
带有css3动画效果的兼容多浏览器简单导航条示例
2014/01/26 HTML / CSS
德国低价购买灯具和家具网站:Style-home.de
2016/11/25 全球购物
澳大利亚在线奢侈品时尚零售平台:Azura Runway
2021/01/13 全球购物
linux面试题参考答案(4)
2014/09/21 面试题
《秋姑娘的信》教学反思
2014/02/28 职场文书
医德医风演讲稿
2014/05/20 职场文书
2014年旅游局法制宣传日活动总结
2014/11/01 职场文书
三孔导游词
2015/02/05 职场文书
学校办公室主任岗位职责
2015/04/01 职场文书
2015年收银员个人工作总结
2015/04/01 职场文书
导游词之塘栖古镇
2019/12/04 职场文书