本篇文章是作者透過學習vue iview less echarts製作一個小系統後,做的心得以及遇到的坑的總結,值得大家學習參考。
首先我們先分享一下原始碼:https://github.com/kunfan96/vue-admin
對於我這種剛開始用Vue做專案的菜鳥來說在組件資料定義方面犯了很多錯誤,尤其是在這個頁面
在進行資料回選的時候自己重定義已經定好的資料,導致資料非常雜亂無章,具體在storeDetail. vue的14--321行,感覺這麼多資料非常有必要的進行裁剪,用js進行運算把資料補充完整,這裡相對把後台的任務減輕了很多,只是額外增加前端渲染資料的量
父子元件資料通訊問題
剛開始寫Modal的時候對於Modal的開關modal父子元件共享的資料,然後在關閉的時候子元件改變了父元件傳遞的數據會報錯,也就是props的值
在這裡有2個解決方案,一個是用vuex共享Modal的開關(寫起來有點繞,程式碼也不簡潔) ,另一個最好的方法是建立一個mixins資料夾,在mixins的js進行操作,關鍵程式碼--->mixins/closeModal.js--->this.$emit('on-cancel',false ),子元件透過emit使父元件發生on-cancel,回應一個事件,這樣寫可以讓其他多個子元件使用到Modal共用程式碼
元件命名方式
##在這裡我自己定義了資料夾採用了大駝峰命名法,例如資料夾Store,Shop,對於檔案以及變數的命名採用小駝峰命名法,如果storeDetail.vue,parcelList.vue#多用flex
2018年flex將會是主流,相容性問題也沒必要理睬,還有多注意grind佈局,可能也有流行了#多用懶加載
使用懶加載方便在低頻寬時候能夠帶來更好的用戶體驗,在參考iview admin代碼我把懶加載的用法統一為{ path:"/parcel-list", meta:{ group:"parcel", item:"parcel-list" }, component: resolve =>import('@/pages/Parcel/parcelList') }
側邊欄刷新問題
meta:{ group:"", item:"" }透過this.$route.meta.group,this.$route.meta.item就可以與active-name,open-names進行比對實作無刷新操作
記得多npm run build
iview這個組件有點問題,有時候就是修改Modal的樣式我明明在style(不帶scoped)標籤修改之後npm run dev樣式修改成功,可是build之後樣式就又重新恢復,後來把樣式放在靜態資料夾中才可以修改成功,還有就是表格居中build之後之後不能居中,總之,多build問題早點發現早點解決是好事(切莫佛系~~~)Echarts在VUE的使用
在這裡有個坑,在echarts實例化的時候在chart.vue有段程式碼
<p :id="chart.id"></p> let myChart=this.$echarts.init(document.getElementById(this.chart.id))在這裡注意到有個id,我在這裡之所以這樣做,把組件的id設為變數主要是echarts官網文檔寫到在網頁中echarts實例化的p的id具有唯一性,由於我這個chars元件需要多次被同一元件呼叫多次所以是只能將id設為一個變數(這個真的坑,調了很多次上官方文檔看了好幾次才知道...).另外最好把echars的資料封裝一遍
多寫公用元件
#框架這種東西本質就是減少程式碼,公用元件寫好了呼叫的時候使用資料渲染就可以了,這樣就能大幅減少程式碼量,也符合MVVM的思想上面是我整理給大家的,希望今後會對大家有幫助。 相關文章:vue專案中打包後透過百度的BAE發佈到網路上的流程步驟有哪些?
透過Angular利用內容投射向元件輸入ngForOf模板的方法步驟有哪些?
透過axios全域請求參數設定請求以及回傳攔截器操作步驟有哪些?
以上是在vue+iview+less+echarts中實戰項目(詳細教學)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

JavaScript在現實世界中的應用包括前端和後端開發。 1)通過構建TODO列表應用展示前端應用,涉及DOM操作和事件處理。 2)通過Node.js和Express構建RESTfulAPI展示後端應用。

JavaScript在Web開發中的主要用途包括客戶端交互、表單驗證和異步通信。 1)通過DOM操作實現動態內容更新和用戶交互;2)在用戶提交數據前進行客戶端驗證,提高用戶體驗;3)通過AJAX技術實現與服務器的無刷新通信。

理解JavaScript引擎內部工作原理對開發者重要,因為它能幫助編寫更高效的代碼並理解性能瓶頸和優化策略。 1)引擎的工作流程包括解析、編譯和執行三個階段;2)執行過程中,引擎會進行動態優化,如內聯緩存和隱藏類;3)最佳實踐包括避免全局變量、優化循環、使用const和let,以及避免過度使用閉包。

Python更適合初學者,學習曲線平緩,語法簡潔;JavaScript適合前端開發,學習曲線較陡,語法靈活。 1.Python語法直觀,適用於數據科學和後端開發。 2.JavaScript靈活,廣泛用於前端和服務器端編程。

Python和JavaScript在社區、庫和資源方面的對比各有優劣。 1)Python社區友好,適合初學者,但前端開發資源不如JavaScript豐富。 2)Python在數據科學和機器學習庫方面強大,JavaScript則在前端開發庫和框架上更勝一籌。 3)兩者的學習資源都豐富,但Python適合從官方文檔開始,JavaScript則以MDNWebDocs為佳。選擇應基於項目需求和個人興趣。

從C/C 轉向JavaScript需要適應動態類型、垃圾回收和異步編程等特點。 1)C/C 是靜態類型語言,需手動管理內存,而JavaScript是動態類型,垃圾回收自動處理。 2)C/C 需編譯成機器碼,JavaScript則為解釋型語言。 3)JavaScript引入閉包、原型鍊和Promise等概念,增強了靈活性和異步編程能力。

不同JavaScript引擎在解析和執行JavaScript代碼時,效果會有所不同,因為每個引擎的實現原理和優化策略各有差異。 1.詞法分析:將源碼轉換為詞法單元。 2.語法分析:生成抽象語法樹。 3.優化和編譯:通過JIT編譯器生成機器碼。 4.執行:運行機器碼。 V8引擎通過即時編譯和隱藏類優化,SpiderMonkey使用類型推斷系統,導致在相同代碼上的性能表現不同。

JavaScript在現實世界中的應用包括服務器端編程、移動應用開發和物聯網控制:1.通過Node.js實現服務器端編程,適用於高並發請求處理。 2.通過ReactNative進行移動應用開發,支持跨平台部署。 3.通過Johnny-Five庫用於物聯網設備控制,適用於硬件交互。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3漢化版
中文版,非常好用

Dreamweaver Mac版
視覺化網頁開發工具

Atom編輯器mac版下載
最受歡迎的的開源編輯器

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。