这篇文章主要为大家展示了“Vue-cli脚手架引入弹出层layer插件的方法有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue-cli脚手架引入弹出层l
这篇文章主要为大家展示了“Vue-cli脚手架引入弹出层layer插件的方法有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue-cli脚手架引入弹出层layer插件的方法有哪些”这篇文章吧。
1.如何引入
在vue-cli里,引入文件有几钟方法
一种是用npm或者cnpm指令去下载对应的插件,然后在main.js里用import方法引入,这里不讨论这种方法
我比较喜欢采用的是直接下载对应的js,然后引入到vue项目中去
问题来了,如何引入呢
方法如下:
在这里,分别是
<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.弹出层显示不出
第一个是前端控制台报错,印象里是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插件的方法有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网node.js频道!
--结束END--
本文标题: vue-cli脚手架引入弹出层layer插件的方法有哪些
本文链接: https://lsjlt.com/news/78096.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2022-06-04
2022-06-04
2022-06-04
2022-06-04
2022-06-04
2022-06-04
2022-06-04
2022-06-04
2022-06-04
2022-06-04
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0