国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > WEB開發 > 正文

使用vue2+Vuex+Router寫的Demo以及遇到的一些坑和使用建議

2024-04-27 15:15:37
字體:
來源:轉載
供稿:網友

我的開源中國博客:https://my.oschina.net/keysITer/blog/834287

一直對vue很感興趣,最近使用vue2.0開發了高仿餓了么點餐系統來練練手,不得不說vue真是一個很不錯的框架,但是也遇到過一些坑,在這里和大家分享一下

餓了么點餐系統

vue2.0、vuex、vue-router、axios、webpack、eslint、better-scroll

部分細節還在開發中,感興趣的可以加入進來,覺得不錯的給個star

GitHub地址:https://github.com/SimonZhangITer/VueDemo_Sell_Eleme

## 演示在線演示戳我掃二維碼在手機上查看效果更好

項目截圖

構建

vue有自己的腳手架構建工具vue-cli,使用起來非常方便,使用webpack來集成各種開發便捷工具,比如:

代碼熱更新,修改代碼之后網頁無刷新改變,對前端開發來說非常的方便PostCSS,再也不用去管兼容性的問題了,只針對Chrome寫css代碼,會自動編譯生成支持多款瀏覽器的css代碼Eslint,統一代碼風格,規避低級錯誤,對于有代碼潔癖的人來說是絕對的好東西,不過有些地方的代碼校驗有時候也挺麻煩的-.-bable,ES2015出來已經有一段時間了,但是不少瀏覽器還沒有兼容ES6.有了bable,放心使用ES6語法,它會自動轉義成ES5語法。Stylus,類似于SASS/SCSS,但是可以不寫{}和“:”,使用起來還是很方便的…

除此之外,vue-cli已經使用node配置了一套本地服務器和安裝命令等,本地運行和打包只需要一個命令就可以搞定,非常的方便

開發

vue非常好的融合了react的組件化思想和angular的指令思想。 一個vue的組件將HTML、CSS、JS代碼寫在一個文件里面,這樣既方便編寫,也方便管理和修改

Axios

在vue1.x的時候,vue的官方推薦HTTP請求工具是vue-resource,但是在vue2.0的時候將推薦工具改成了axios。

使用方式都差不多,但需要注意的是:接口返回的res并不直接是返回的數據,而是經過axios本身處理過的json對象。真正的數據在res.data里:

axios.get(url).then((res)=>{ this.data = res.data})

Vuex

vue提供了一個數據管理工具vuex,有點類似于angular中factory和service,可以進行數據上的通信。 比如存儲一些公共變量或者是不同組件間的數據處理等。

這個有一些高級用法在這里不細說,想要了解的可以去官方文檔看,有中文版本。

const store = new Vuex.Store({ state: { count: 0 }, mutations: { increment(state) { state.count++ } }})

Vue-Router

vue-router是vue的路由系統,可以用來創建單頁應用?;舅枷胧窃谥黜撁嬷幸霕撕?,然后定義路由,把router掛在到app上,然后把各個子頁面渲染到view里面。使用起來還是很方便的, 跳轉頁面只需要

router.push('test')

獲取元素節點

vue2.0廢除了v-el指令,所有的節點指令修改為ref,然后通過ref來獲取元素節點,如

<div ref="testHook">test</div>...js codethis.$ref.testHook

組件間的通信

一。如果是和子組件通信,則使用ref就可以實現,如:

<test ref="testHook"></test>...js codethis.$ref.testHook.add() //調用test子組件的add方法

二。使用emit來發送廣播

vue2提供了一套廣播機制,即一邊發送廣播,一邊接收廣播來執行相應操作。使用方法如下:

比如想要給test組件發送一個“相加”廣播:

export default { method:{ click(){ Vue.$emit('add',{}) //第二個參數可作為傳遞數據傳送到監聽端口,不需要則傳空對象 } }}

那么test組件中就需要監聽,在created方法里寫

export default { created(){ Vue.$on('add',this.add) }, method:{ add(){ this.count++ } }}

除了以上總結的這點小的知識點以外,還有很多vue的知識想要和大家分享,以后會陸續寫出來,大家感興趣的也可以來我的GitHub一起來寫這個項目(覺得不錯的給個star Hah)

GitHub地址:https://github.com/SimonZhangITer/VueDemo_Sell_Eleme


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 红原县| 晋城| 鲁山县| 宁化县| 乃东县| 仙游县| 鲁山县| 顺义区| 桃源县| 张北县| 富平县| 奈曼旗| 普兰店市| 宁陵县| 汾西县| 阿尔山市| 安陆市| 大田县| 林周县| 巴楚县| 沾益县| 台前县| 宜城市| 封丘县| 永昌县| 新蔡县| 景谷| 遂昌县| 重庆市| 分宜县| 武宣县| 高清| 寿宁县| 汨罗市| 美姑县| 富民县| 娄底市| 斗六市| 峡江县| 大关县| 泰兴市|