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页面不刷新时全选择,全删除(GridView)
Apr 14 Javascript
jquery.cvtooltip.js 基于jquery的气泡提示插件
Nov 19 Javascript
js控制滚动条缓慢滚动到顶部实现代码
Mar 20 Javascript
js获取元素相对窗口位置的实现代码
Sep 28 Javascript
流量统计器如何鉴别C#:WebBrowser中伪造referer
Jan 07 Javascript
jquery通过扩展select控件实现支持enter或focus选择的方法
Nov 19 Javascript
jQuery表单对象属性过滤选择器实例详解
Sep 13 Javascript
js利用appendChild对标签进行排序的实现方法
Oct 16 Javascript
VUE 更好的 ajax 上传处理 axios.js实现代码
May 10 Javascript
vue-cli项目根据线上环境分别打出测试包和生产包
May 23 Javascript
Vue 通过自定义指令回顾v-内置指令(小结)
Sep 03 Javascript
pm2发布node配置文件ecosystem.json详解
May 15 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手册及PHP编程标准
2006/12/17 PHP
php 特殊字符处理函数
2008/09/05 PHP
通过PHP修改Linux或Unix口令的方法分享
2012/01/30 PHP
php配置php-fpm启动参数及配置详解
2013/11/04 PHP
php socket实现的聊天室代码分享
2014/08/16 PHP
PHP中addslashes()和stripslashes()实现字符串转义和还原用法实例
2016/01/07 PHP
CodeIgniter分页类pagination使用方法示例
2016/03/28 PHP
Mootools 1.2教程 设置和获取样式表属性
2009/09/15 Javascript
基于jQuery的input输入框下拉提示层(自动邮箱后缀名)
2012/06/14 Javascript
js 与 php 通过json数据进行通讯示例
2014/03/26 Javascript
情人节单身的我是如何在敲完代码之后收到12束玫瑰的(javascript)
2015/08/21 Javascript
全面解析Bootstrap中Carousel轮播的使用方法
2016/06/13 Javascript
bootstrap PrintThis打印插件使用详解
2017/02/20 Javascript
vue2.0实战之使用vue-cli搭建项目(2)
2017/03/27 Javascript
Vue渲染函数详解
2017/09/15 Javascript
Angular中支持SCSS的方法
2017/11/18 Javascript
vue-cli 脚手架基于Nightwatch的端到端测试环境的过程
2018/09/30 Javascript
微信小程序实现的canvas合成图片功能示例
2019/05/03 Javascript
js中arguments对象的深入理解
2019/05/14 Javascript
微信小程序tab切换可滑动切换导航栏跟随滚动实现代码
2019/09/04 Javascript
python求众数问题实例
2014/09/26 Python
快速排序的算法思想及Python版快速排序的实现示例
2016/07/02 Python
python生成词云的实现方法(推荐)
2017/06/13 Python
pandas去重复行并分类汇总的实现方法
2019/01/29 Python
Python读取YAML文件过程详解
2019/12/30 Python
Python3读写Excel文件(使用xlrd,xlsxwriter,openpyxl3种方式读写实例与优劣)
2020/02/13 Python
Python中Selenium库使用教程详解
2020/07/23 Python
Pycharm的Available Packages为空的解决方法
2020/09/18 Python
Python将list元素转存为CSV文件的实现
2020/11/16 Python
澳大利亚最大的百货公司:Myer
2018/12/21 全球购物
Java的五个基础面试题
2016/02/26 面试题
活动策划求职信模板
2014/04/21 职场文书
酒店员工培训方案
2014/06/02 职场文书
Python Pandas pandas.read_sql函数实例用法
2021/06/21 Python
mysql函数之截取字符串的实现
2022/08/14 MySQL
td 内容自动换行 table表格td设置宽度后文字太多自动换行
2022/12/24 HTML / CSS