最新vue2.x仿餓了麼app 商家頁面 專案總結
前言
仿餓了麼app是基於vue2.x最新實戰專案,用到的技術棧
vue2 + vue-router2 + vue-cli2 + vue-resource + stylus + flex佈局 + es6 + eslint + webpack2
頁面相對簡單,所以沒有用到vuex, 它更適合對複雜的單頁面進行狀態管理
實現功能:
• Goods、Ratings、Seller元件檢視均可上下滾動
• 商品頁 點選左側menu,右側list對應跳轉到相應位置
• 點選list檢視商品詳情頁,父子元件的通訊
• 評論內容夠可以篩選檢視
• 購物車元件,包括新增刪除商品及動效,購物控制元件與購物車元件之間非父子元件通訊,點選購物車圖示,展示選擇的商品列表
• 商家實景圖片可以左右滑動
• loaclStorage快取商家資訊(id 、name)
如果覺得對您有幫助,您可以在右上角給我個star支援一下,謝謝!
1-專案結構分析:
common/---- 資料夾存放的是通用的css和fonts
components/----資料夾用來存放我們的 Vue 元件
router/----資料夾存放的是vue-router相關配置(linkActiveClass,routes註冊元件路由)
build/----檔案是 webpack 的打包編譯配置檔案
config/----資料夾存放的是一些配置項,比如我們伺服器訪問的埠配置等
dist/----該資料夾一開始是不存在,在我們的專案經過 build 之後才會產出
prod.server.js----該檔案是測試是模擬的伺服器配置,用來執行dist裡面的檔案,在config/index.js中,build物件中新增一條埠設定port:9000,
App.vue----根元件,所有的子元件都將在這裡被引用,eventHub空例項是用來元件間通訊的中央資料匯流排作用,主要連線購買控制元件和購物車元件之間的資料通訊
index.html----整個專案的入口檔案,將會引用我們的根元件 App.vue
main.js----入口檔案的 js 邏輯,在 webpack 打包之後將被注入到 index.html 中
2-各元件之間的關係:
├──APP.vue
│ ├──Header.vue--頭部元件
│ │ ├──iconClassMap--圖示元件(減,折,特,票,保)
│ │ ├──Star.vue--星星評分元件
│ ├──Goods.vue--商品元件
│ │ ├──iconClassMap--圖示元件(減,折,特,票,保)
│ │ ├──Shopcart.vue--購物車元件,包括小球飛入購物車動畫,使用this.\$root.eventHub.\$on('cart.add', this.drop)接收,並給drop方法使用
│ │ ├──CartControl.vue--購買控制元件--選中數量返回給父元件goods,goods響應後,重新計算選中數量,並用this.\$root.eventHub.\$emit('name',event.target)將資料傳送給購物車元件,
│ │ ├──Foodinfo.vue--商品詳情頁
│ │ │ ├──RatingSelect.vue--評價內容篩選元件
│ ├──Ratings.vue--評論元件
│ │ ├──RatingSelect.vue--評價內容篩選元件
│ ├──Seller.vue--商家元件
│ │ ├──iconClassMap--圖示元件(減,折,特,票,保)
獨立元件
├──iconClassMap--圖示元件(減,折,特,票,保)
├──split.vue--關於分割線元件
├──RatingSelect.vue--評價內容篩選元件
3-開發過程問題彙總:
3-1、better-scroll外掛在移動端使用時需要設定click:true,否則移動端滑動無效
3-2、分開設定css樣式:
圖示icon.css--文字圖示樣式,通過icommon.io網站 將svg圖片轉成文字圖示樣式
公共base.css--處理裝置畫素比的一些樣式,針對border-1px問題,不同裝置畫素比,顯示的線條粗細不同
工具mixin.css--設定border-1px樣式和背景樣式
3-2-1、這裡著重解釋一下border-1px的實現
當樣式畫素一定時,因手機有320px,640px等.各自的縮放比差異,所以裝置顯示畫素就會有1Npx,2Npx.為保設計稿還原度,解決就是用media + scale.
公式:裝置上畫素 = 樣式畫素 * 裝置畫素比
螢幕寬度: 320px 480px 640px
裝置畫素比: 1 1.5 2
通過查詢它的裝置畫素比 devicePixelRatio
在裝置畫素比為1.5倍時, round(1px 1.5 / 0.7) = 1px
在裝置畫素比為2倍時, round(1px 2 / 0.5) = 1px
// stylus語法
border-1px($color)
position:relative
&:after
content:''
display:block
position:absolute
left:0
bottom:0
width:100%
border:1px solid $color
@media(-webkit-min-device-pixel-ratio:1.5),(min-device-pixel-ratio:1.5)
.border-1px
&::after
-webkit-transform:scaleY(0.7)
transform:scaleY(0.7)
@media(-webkit-min-device-pixel-ratio:2),(min-device-pixel-ratio:2)
.border-1px
&::after
-webkit-transform:scaleY(0.5)
transform:scaleY(0.5)
3-3、sticky-footer佈局
header元件的詳情頁採用sticky-footer佈局,主要特點是如果內容不夠長,頁尾部分也會貼在視窗底部,內容足夠長,就會將頁尾推到內容底部,父級position:fixed,內容設為padding-bottom:64px,頁尾相對定位,margin-top:-64px
3-4、要求自適應的佈局
3-4-1、左側寬度固定,右側寬度自適應
// 左側固定width:80px,右側自適應
parent:
display:fiexd;
child-left:
flex:0 0 80px
child-right:
flex:1
3-4-2、元素寬度自適應裝置寬度,且元素要求等寬高樣式
例如:商品詳情頁面的商品圖片展示樣式
// stylus語法
.img_header
position:relative
width:100% // width是 裝置寬度
height:0
padding-top:100% // 高度設為0,使用padding撐開
.img
position:absolute //定位佈局
top:0
left:0
width:100%
height:100%
3-5、背景模糊效果
filter:blur(10px)
,注意,所有在內的子元素也會模糊,包括文字,所以採用定位佈局,背景單獨佔用一個層,ios有一個設定backdrop-filter:blur(10px)
,只會模糊背景,但不支援android
3-6、transition過渡
在購買控制元件中使用transition過渡效果,實現新增減少按鈕的動效,和小球飛入購物車的動效(模仿貝塞爾曲線的效果)
vue2.x裡面定義了transition過渡狀態,
name - string, 用於自動生成 CSS 過渡類名。
例如:name: 'fade' 將自動拓展為.fade-enter,.fade-enter-active等。預設類名為 "v"
fade-enter
fade-enter-active
fade-leave
fade-leave-active
包括transition過渡的鉤子函式
before-enter
before-leave
before-appear
enter
leave
appear
after-enter
after-leave
after-appear
enter-cancelled
leave-cancelled (v-show only)
appear-cancelled
3-7、seller元件:
3-7-1問題一:seller頁面中商品商家實景圖片橫向滾動
解決方案:每個li要display:inline-block,因為width不會自動撐開父級ul,所以需要計算ul的width,(每一張圖片的width+margin)*圖片數量-一個margin,因為最後一張圖片沒有margin
同時new BScroll裡面要設定scrollX: true,eventPassthrough: 'vertical',// 滾動方向橫向
3-7-2問題二:開啟seller頁面,無法滾動
問題分析:出現這種現象是因為better-scroll外掛是嚴格基於DOM的,資料是採用非同步傳輸的,頁面剛開啟,DOM並沒有被渲染,所以,要確保DOM渲染了,才能使用better-scroll,
解決方案:用到mounted
鉤子函式,同時搭配this.$nextTick()
3-7-3問題三:在seller頁面,重新整理後,無法滾動
問題分析:出現這種情況是因為mounted函式在整個生命週期中只會只行一次
解決方案:使用watch方法監控資料變化,並執行滾動函式 this._initScroll();this._initPicScroll();
3-8、快取資料
使用window.localStorage儲存和設定快取資訊,封裝在store.js檔案內
//將頁面資訊儲存到localStorage裡
export function saveToLocal(id, key, value) {
let store = window.localStorage._store_; // 新定義一個key值_store_,存放要儲存的資料物件
// _store_ {
// store[id]: {
// key: value
// }
// }
if (!store) {
store = {};
store[id] = {};
} else {
store = JSON.parse(store); // String格式--> json格式
if (!store[id]) {
store[id] = {};
}
}
store[id][key] = value;
window.localStorage._store_ = JSON.stringify(store); // 將json格式轉成String格式,存放到window.localStorage._store中
}
//將localStorage資訊設定到頁面中
export function loadFromLocal(id, key, defaults) {
let store = window.localStorage._store_;
if (!store) { // 一開始是沒有的,因為沒有點選事件,所以顯示預設資料
return defaults;
}
store = JSON.parse(store)[id]; // 將json格式-->String格式
// console.log(store); // {"isFavorite":true}
if (!store) {
return defaults;
}
let ret = store[key];
return ret || defaults;
}
3-9、解析url,得到商家資訊,包括id,name,在獲取資料時,直接賦值,商家的id或name會被丟掉
使用window.localStorage.search獲取url地址,並進行解析
封裝在tools.js檔案內
/**
* http://localhost:8080/#/Seller
* https://h5.ele.me/shop/#id=151667422
* ?id=1234&name=zpxf
*/
/////////方法一:
export function urlParse() {
let url = window.location.search;
let obj = {};
let reg = /[?&][^?&]+=[^?&]+/g;
let arr = url.match(reg);
// ['?id=12345', '&a=b']
if (arr) {
arr.forEach((item) => {
let tempArr = item.substring(1).split('=');
// 因為tempArr是url中的引數,所以要用decode進行轉化
let key = decodeURIComponent(tempArr[0]);
let val = decodeURIComponent(tempArr[1]);
obj[key] = val;
});
}
return obj;
};
/////////方法二:
export function urlParse() {
let urlArr = window.location.search.substr(1).split('&'); // 擷取掉?,並以&分開,存入陣列
// console.log(urlArr); // ["id=1234", "name=zpxf"]
let obj = {};
if (urlArr) {
urlArr.forEach((item) => {
let arr = item.split('='); // 每一項用=分開存入陣列,arr[0]=key,arr[1]=value
// console.log(arr); // [id,1234] [name,zpxf]
let key = decodeURIComponent(arr[0]); // 對url解碼
let val = decodeURIComponent(arr[1]);
obj[key] = val;
});
}
// console.log(obj); // {id: "1234", name: "zpxf"}
return obj;
};
我們需要將得到的id和name帶到資料中,實際上在獲取資料的時候,並沒有帶著id和name,這時就要用到es6語法中Object.assign()
,官方解釋為:可以把任意多個的源物件自身的可列舉屬性拷貝給目標物件,然後返回目標物件。
this.seller = Object.assign({}, this.seller, response.data);
//即將vm.seller屬性和請求返回資料物件合併到空物件,然後賦值給vm.seller,這裡加上this.seller即提供了一種可擴充套件的機制,倘若原來的屬性中有預定義的其他屬性。
3-10、goods,ratings,seller元件之間切換時會重新渲染
解決方案:在app.vue內使用keep-alive
,保留各元件狀態,避免重新渲染
<keep-alive>
<router-view :seller="seller"></router-view>
</keep-alive>
4-專案總結
4-1、vue-router
使用<router-link>
元件完成導航,<router-link>
預設會被渲染成一個 <a>
標籤,但必須使用to
屬性,指定連線
<!-- 導航 -->
<router-link to="/home">home</router-link>
<router-link to="/about">about</router-link>
<!-- 路由出口 元件渲染容器 -->
<router-view></router-view>
import Vue from 'vue';
import Router from 'vue-router';
Vue.use(Resource);
// 定義每個路由對應一個元件
let router = new Router({ // 建立 router 例項,然後傳 `routes` 配置
linkActiveClass: 'active',
routes: [{
path: '/Header',
name: 'Header',
component: Header
},
{
path: '/Seller',
name: 'Seller',
component: Seller
},
{
path: '/Goods',
name: 'Goods',
component: Goods
},
{
path: '/Ratings',
name: 'Ratings',
component: Ratings
}
]
});
export default router;
router.push('goods');// 相當於頁面初始化,顯示goods的內容
// 掛載
new Vue({
el: '#app',
template: '<App/>',
router: router,
components: { App }
});
//或者另一種掛載
new Vue({
template: '<App/>',
router: router,
components: { App }
}).$mount(#app);//手動掛載,#app
4-2、vue-resource
通過 this.$http.get
來定義通過vue例項來發送get請求,然後通過then
後面的回撥函式將請求成功的資料接收,通過狀態碼來判斷是否成功以及複製給vue的資料物件。由於這裡是用的mock資料(模擬後臺資料),所以用的模擬狀態碼。
同時,這裡省略了errorcallback
的定義,正常開發中需要進行定義,甚至可以利用vue-resource的inteceptor
進行體驗優化,比如定義請求時的loading動畫介面。在vue中即可以提取出loading元件。
const ERR_OK = 0;//表示沒有錯誤資訊,即獲取資料成功
this.$http.get('/api/seller').then((response) => {
response = response.body;
if (response.errno === ERR_OK) {
this.seller = Object.assign({}, this.seller, response.data);
}
});
相關推薦
最新vue2.x仿餓了麼app 商家頁面 專案總結
前言仿餓了麼app是基於vue2.x最新實戰專案,用到的技術棧vue2 + vue-router2 + vue-cli2 + vue-resource + stylus + flex佈局 + es6 + eslint + webpack2
頁面相對簡單,所以沒有用到vuex
vue2高仿餓了麽app
img mage -- image json -s ack 9.png ood Github地址: https://github.com/ccyinghua/appEleme-project
一、構建項目所用:
vue init webpack appEleme-pr
Vue2.x實戰餓了麼專案筆記(一)
mack資料
如果後端介面尚未開發完成,前端開發一般使用mock資料。 注意:新版的vue-cli 自動搭建的build 檔案裡沒有dev-server.js 和 dev-client.js ,因此我們要在webpack.dev.conf.js 裡配置
複製data.json 到sr
vue高仿餓了麼APP(三)
一·需求分析
二,製作css字型圖示的製作和使用
前面已經有人做過總結,我就直接引用了
css字型圖示的製作和使用。
三,專案目錄結構設計
1,每一個元件都單獨建立一個資料夾,例如商品頁建立goods資料夾,goods資料夾放商品頁元件,goods.vue以及商品
vue高仿餓了麼APP(二)
這裡我直接跳過vue-cli的安裝。
一,vue.js程式碼是如何執行的?
1,進入頁面,首先載入index.html和main.js檔案。
① index.html檔案
<!DOCTYPE html>
<html>
<head>
vue2.0仿餓了麼webAPP專案
# webapp vue2.x仿餓了麼app專案總結 專案地址:https://github.com/harrietjia/vue2-webapp.git如果覺得有幫助,希望可以在右上角給我個star支援一下,謝謝!部分截圖:## 實現功能:```•Goods、Rating
vue仿餓了麼商店詳情頁面(列表左右聯動、兩側滾動條互不影響)
商店詳情頁面中要求頁面劃上去之後到達某一位置時,嘴上的tabs標籤固定在最上邊,下邊的兩個選單列表可以滾動,且兩個滾動互不影響;點選左側的某一類別,右側跳轉到相對應部分。
HTML
<body>
<div class="header"
【餓了麼】—— Vue2.0高仿餓了麼核心模組&移動端Web App專案爬坑(一)
前言:學習Vue.js高仿餓了麼課程過程中,總結了這個Web App專案從準備到開發完畢自己覺得很重要的知識點。這一篇主要介紹:專案準備、頁面骨架開發、header元件開發。
專案github地址:https://github.com/66Web/ljq_eleme,歡迎Star。
【餓了麼】—— Vue2.0高仿餓了麼核心模組&移動端Web App專案爬坑(二) 【重點突破】—— 當better-scroll 遇見Vue
前言:上一篇專案總結介紹了頁面骨架的開發、header元件的開發,這一篇主要梳理:商品元件開發、商品詳情頁實現。專案github地址:https://github.com/66Web/ljq_eleme,歡迎Star。
goods
Vue2.0高仿餓了麼核心模組&移動端Web App專案爬坑(一)
原文https://www.cnblogs.com/ljq66/p/9980372.html
前言:學習Vue.js高仿餓了麼課程過程中,總結了這個Web App專案從準備到開發完畢自己覺得很重要的知識點。這一篇主要介紹:專案準備、頁面骨架開發、header元件開發。
專案github地址:
【餓了麼】—— Vue2.0高仿餓了麼核心模組&移動端Web App專案爬坑(一)
@import "../../common/stylus/mixin"
.star
.star-item
display: inline-block
background-repeat: no-repeat
&.st
【餓了麼】—— Vue2.0高仿餓了麼核心模組&移動端Web App專案爬坑(二)
methods: {
dropMove(el) {
// console.log(el)
for(let i=0; i<this.balls.length; i++) {
let ball = this.bal
Vue.js高仿餓了麼外賣App Vue實戰開發APP 共13章
講真,JavaScript應用之廣超乎想象JavaScript進階已來,你來不來!搞定JavaScript基礎以後,怎麼辦JavaScript在效能方面堪稱全能,應用領域從基本的前後端開發、到移動開發的Webapp、再到桌面、外掛開發等均可適用。本路徑是JavaScript的
基於vue2+nuxt構建的高仿餓了麼(2018版)
前言
高仿餓了麼,以nuxt作為vue的服務端渲染,適合剛接觸或者準備上vue ssr的同學參考和學習
專案地址如遇網路不佳,請移步國內映象加速節點
效果演示
檢視demo請戳這裡(請用chrome手機模式預覽)
移動端掃描下方二維碼
API介面文件
介面文件地址(基於apidoc)
技術棧
vue2 +
Vue.js 高仿開發餓了麼APP
第1章 課程簡介
介紹課程的學習目標和學習內容。
1-1 課程簡介
1-2 課程安排
第2章 Vuejs介紹
從前端開發趨勢分析開始,引入 MVVM 開發框架和 Vue.js,接著對比流行框架Angular 和 React,最後詳細介紹 Vue.js 的核心思
Elm仿餓了麼vuejs app學習筆記
兩端橫線,中間文字
<div class="line"></div>
<div class="text"></div>
<div class="line"></div>
.title
display
Vue2.0實現高仿餓了麼專案裡的小球飛入動畫
在學習Vue.js高仿餓了麼專案的過程中,有一個小球飛入購物車的動畫效果。專案是基於vue1.0的,如果是vue2.0的專案,該如何實現呢?自己也花時間研究了一會,從迷惑不解,各種嘗試未果,到後來咬文嚼字研讀vue 2.0官網關於過渡的章節,再到最終實現效果,心情十分愉悅,同
仿“餓了麼”訂餐app介面實現
直想做簡單的demo分享給大家。趁著最近專案收尾,時間充裕,便仿照“餓了麼”訂餐app做了個demo,雖然有些瑕疵和bug,但還是希望能給剛入門的新人和有需要的同學帶來幫助吧。以後會不定期在demo里加些新內容,也想請有git賬號的同學們star一下,3q!========
仿餓了麼,百度外賣這些App的雙ListView列表聯動效果
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content
Vue.js高仿餓了麼外賣App
第1章 課程簡介介紹課程的學習目標和學習內容。第2章 Vuejs介紹從前端開發趨勢分析開始,引入 MVVM 開發框架和 Vue.js,接著對比流行框架Angular 和 React,最後詳細介紹 Vue.js 的核心思想-資料驅動和元件化。第3章 Vue-cli 開啟 Vue
最新vue2.x仿餓了麼app 商家頁面 專案總結
前言仿餓了麼app是基於vue2.x最新實戰專案,用到的技術棧vue2 + vue-router2 + vue-cli2 + vue-resource + stylus + flex佈局 + es6 + eslint + webpack2 頁面相對簡單,所以沒有用到vuex
vue2高仿餓了麽app
img mage -- image json -s ack 9.png ood Github地址: https://github.com/ccyinghua/appEleme-project 一、構建項目所用: vue init webpack appEleme-pr
Vue2.x實戰餓了麼專案筆記(一)
mack資料 如果後端介面尚未開發完成,前端開發一般使用mock資料。 注意:新版的vue-cli 自動搭建的build 檔案裡沒有dev-server.js 和 dev-client.js ,因此我們要在webpack.dev.conf.js 裡配置 複製data.json 到sr
vue高仿餓了麼APP(三)
一·需求分析 二,製作css字型圖示的製作和使用 前面已經有人做過總結,我就直接引用了 css字型圖示的製作和使用。 三,專案目錄結構設計 1,每一個元件都單獨建立一個資料夾,例如商品頁建立goods資料夾,goods資料夾放商品頁元件,goods.vue以及商品
vue高仿餓了麼APP(二)
這裡我直接跳過vue-cli的安裝。 一,vue.js程式碼是如何執行的? 1,進入頁面,首先載入index.html和main.js檔案。 ① index.html檔案 <!DOCTYPE html> <html> <head>
vue2.0仿餓了麼webAPP專案
# webapp vue2.x仿餓了麼app專案總結 專案地址:https://github.com/harrietjia/vue2-webapp.git如果覺得有幫助,希望可以在右上角給我個star支援一下,謝謝!部分截圖:## 實現功能:```•Goods、Rating
vue仿餓了麼商店詳情頁面(列表左右聯動、兩側滾動條互不影響)
商店詳情頁面中要求頁面劃上去之後到達某一位置時,嘴上的tabs標籤固定在最上邊,下邊的兩個選單列表可以滾動,且兩個滾動互不影響;點選左側的某一類別,右側跳轉到相對應部分。 HTML <body> <div class="header"
【餓了麼】—— Vue2.0高仿餓了麼核心模組&移動端Web App專案爬坑(一)
前言:學習Vue.js高仿餓了麼課程過程中,總結了這個Web App專案從準備到開發完畢自己覺得很重要的知識點。這一篇主要介紹:專案準備、頁面骨架開發、header元件開發。 專案github地址:https://github.com/66Web/ljq_eleme,歡迎Star。
【餓了麼】—— Vue2.0高仿餓了麼核心模組&移動端Web App專案爬坑(二) 【重點突破】—— 當better-scroll 遇見Vue
前言:上一篇專案總結介紹了頁面骨架的開發、header元件的開發,這一篇主要梳理:商品元件開發、商品詳情頁實現。專案github地址:https://github.com/66Web/ljq_eleme,歡迎Star。 goods
Vue2.0高仿餓了麼核心模組&移動端Web App專案爬坑(一)
原文https://www.cnblogs.com/ljq66/p/9980372.html 前言:學習Vue.js高仿餓了麼課程過程中,總結了這個Web App專案從準備到開發完畢自己覺得很重要的知識點。這一篇主要介紹:專案準備、頁面骨架開發、header元件開發。 專案github地址:
【餓了麼】—— Vue2.0高仿餓了麼核心模組&移動端Web App專案爬坑(一)
@import "../../common/stylus/mixin" .star .star-item display: inline-block background-repeat: no-repeat &.st
【餓了麼】—— Vue2.0高仿餓了麼核心模組&移動端Web App專案爬坑(二)
methods: { dropMove(el) { // console.log(el) for(let i=0; i<this.balls.length; i++) { let ball = this.bal
Vue.js高仿餓了麼外賣App Vue實戰開發APP 共13章
講真,JavaScript應用之廣超乎想象JavaScript進階已來,你來不來!搞定JavaScript基礎以後,怎麼辦JavaScript在效能方面堪稱全能,應用領域從基本的前後端開發、到移動開發的Webapp、再到桌面、外掛開發等均可適用。本路徑是JavaScript的
基於vue2+nuxt構建的高仿餓了麼(2018版)
前言 高仿餓了麼,以nuxt作為vue的服務端渲染,適合剛接觸或者準備上vue ssr的同學參考和學習 專案地址如遇網路不佳,請移步國內映象加速節點 效果演示 檢視demo請戳這裡(請用chrome手機模式預覽) 移動端掃描下方二維碼 API介面文件 介面文件地址(基於apidoc) 技術棧 vue2 +
Vue.js 高仿開發餓了麼APP
第1章 課程簡介 介紹課程的學習目標和學習內容。 1-1 課程簡介 1-2 課程安排 第2章 Vuejs介紹 從前端開發趨勢分析開始,引入 MVVM 開發框架和 Vue.js,接著對比流行框架Angular 和 React,最後詳細介紹 Vue.js 的核心思
Elm仿餓了麼vuejs app學習筆記
兩端橫線,中間文字 <div class="line"></div> <div class="text"></div> <div class="line"></div> .title display
Vue2.0實現高仿餓了麼專案裡的小球飛入動畫
在學習Vue.js高仿餓了麼專案的過程中,有一個小球飛入購物車的動畫效果。專案是基於vue1.0的,如果是vue2.0的專案,該如何實現呢?自己也花時間研究了一會,從迷惑不解,各種嘗試未果,到後來咬文嚼字研讀vue 2.0官網關於過渡的章節,再到最終實現效果,心情十分愉悅,同
仿“餓了麼”訂餐app介面實現
直想做簡單的demo分享給大家。趁著最近專案收尾,時間充裕,便仿照“餓了麼”訂餐app做了個demo,雖然有些瑕疵和bug,但還是希望能給剛入門的新人和有需要的同學帶來幫助吧。以後會不定期在demo里加些新內容,也想請有git賬號的同學們star一下,3q!========
仿餓了麼,百度外賣這些App的雙ListView列表聯動效果
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content
Vue.js高仿餓了麼外賣App
第1章 課程簡介介紹課程的學習目標和學習內容。第2章 Vuejs介紹從前端開發趨勢分析開始,引入 MVVM 開發框架和 Vue.js,接著對比流行框架Angular 和 React,最後詳細介紹 Vue.js 的核心思想-資料驅動和元件化。第3章 Vue-cli 開啟 Vue