您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“vue-cli腳手架引入彈出層layer插件的方法有哪些”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“vue-cli腳手架引入彈出層layer插件的方法有哪些”這篇文章吧。
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插件的方法有哪些”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。