無標題文章


寫文章注冊登錄

首頁

下載App

Vue 學習筆記

?

Alexee?關注

2016.05.13 13:45*?字數 3279?閱讀 12442評論 17喜歡 216贊賞 1

個人基于對 Vuejs 的學習制作了一個 Todo 單頁應用?Lightodo,功能包括:添加待辦事項卡片,對卡片或待辦事項進行排序或刪除操作脚仔,設置待辦事項定時提醒,登錄注冊等论寨,僅供參考,請勿模仿(代碼亂得無法形容爽茴,捂臉)~

Vue 簡介

vue.js

提醒:Vuejs 如今正處在快速發(fā)展中葬凳,很多資源隨時都有可能過時(outdated),記得查看最新文檔室奏,使用最新資源火焰。

Vue 的官方說明

數據驅動的組件,為現代化的 Web 界面而生胧沫。

Vue.js(讀音 /vju?/, 類似于 view)是一個構建數據驅動的 web 界面的庫昌简。Vue.js 的目標是通過盡可能簡單的 API 實現響應的數據綁定和組合的視圖組件。

Vue.js 自身不是一個全能框架——它只聚焦于視圖層绒怨。因此它非常容易學習纯赎,非常容易與其它庫或已有項目整合。另一方面南蹂,在與相關工具和支持庫一起使用時犬金,Vue.js 也能完美地驅動復雜的單頁應用。

關于 Vue 的作者

尤雨溪 / 昵稱:尤小右?/ 英文名:Evan You

是個介于設計師和程序員之間的大牛六剥,設計能力比程序員好晚顷,編程能力比設計師(和普通程序員)好太多!

如今辭了工作疗疟,專心投入到了 Vuejs 的發(fā)展和推廣中该默。

工作信息:

Meteor (2014 - 2016)

地區(qū):海外 ,美國

職位:Core dev

Google (2012 - 2014)

地區(qū):海外 秃嗜,美國

職位:Creative Lab

相關信息

JavaScript Air Episode 016: JavaScript Frameworks: Vue.js

和 Vue.js 框架的作者聊聊前端框架開發(fā)背后的故事 | Teahour.fm

Vue 的基本用法

Vue 相比于 React 和 Angular 容易上手多了权均,因此我對 Vue 的學習主要以文檔為主顿膨,視頻為輔(只有像我這種菜鳥才看視頻教程锅锨,真正的牛人文檔瞄幾眼就會了(-_-#))。

下載使用(兩種方式)

直接下載并用??標簽引入恋沃,Vue?會被注冊為一個全局變量必搞。

平時對于 Dom 操作比較頻繁的小項目可以直接這樣使用。

Vue.js 提供一個官方命令行工具囊咏,可用于快速搭建大型單頁應用恕洲。該工具提供開箱即用的構建工具配置塔橡,帶來現代化的前端開發(fā)流程。只需一分鐘即可啟動帶熱重載霜第、保存時靜態(tài)檢查以及可用于生產環(huán)境的構建配置的項目:

針對單頁應用的構建推薦使用這種方式葛家,可以更好的體驗到 vue 所提供的組件化功能 (單文件組件),順帶著享受到 webpack 帶來的流暢的自動化開發(fā)體驗泌类。

# 全局安裝 vue-cli$ npm install -g vue-cli# 創(chuàng)建一個基于 "webpack" 模板的新項目$ vue init webpack my-project# 安裝依賴癞谒,走你$ cd my-project$ npm install$ npm run dev

Vue 的使用教程

廢話不多說,大家直接看官方文檔刃榨,已經寫得非常棒了弹砚。

頁面上的搜索功能可以快速幫助你定位到相關文檔說明,非常方便枢希。

針對相關問題的解決方法

問題:Vue 還未實例化前桌吃, HTML 模板中的 "{{ }}"( Mustache 標簽) 會暴露在用戶界面上,也就是說頁面有那么一瞬間會將所有的 "{{ }}" 都顯示出來苞轿,如何解決茅诱?

解決

方法一:使用?v-cloak?指令,這個指令保持在元素上直到關聯實例結束編譯搬卒。和 CSS 規(guī)則如?[v-cloak] { display: none }?一起用時让簿,這個指令可以隱藏未編譯的 Mustache 標簽直到實例準備完畢。

v-cloak 文檔說明

[v-cloak]{display: none;}

{{ message }}

方法二:使用?v-text

v-text 文檔說明

{{msg}}

問題:新增的 data 數據沒法同步響應到頁面秀睛?

解決:認真閱讀官方文檔里的深入響應式原理尔当。

在實例創(chuàng)建之后添加屬性并且讓它是響應的:

對于 Vue 實例,可以使用 $set(key, value) 實例方法:

vm.$set('b',2)// `vm.b` 和 `data.b` 現在是響應的

對于普通數據對象蹂安,可以使用全局方法 Vue.set(object, key, value):

Vue.set(data,'c',3)// `vm.c` 和 `data.c` 現在是響應的

注意事項

注意如果?prop?是一個對象或數組椭迎,是按引用傳遞。在子組件內修改它會影響父組件的狀態(tài)田盈,不管是使用哪種綁定類型

針對同一個元素的后一個 watch 會覆蓋前一個 watch畜号,無論是不是 deep

自定義指令內部可以通過 this.vm.someKey 來訪問到組件的數據

自定義指令名不要有大寫,props 命名也不要有大寫

Vue 的組件化實踐

組件(Component)是 Vue.js 最強大的功能之一允瞧。組件可以擴展 HTML 元素简软,封裝可重用的代碼。在較高層面上述暂,組件是自定義元素痹升,Vue.js 的編譯器為它添加特殊功能。在有些情況下畦韭,組件也可以是原生 HTML 元素的形式疼蛾,以?is?特性擴展。

使用上文提到的官方命令行工具

目前可供使用的模板包括(模板名-說明):

webpack?- A full-featured Webpack + vue-loader setup with hot reload, linting, testing & css extraction.(全功能的 Webpack + vue-loader 設置艺配,包括熱加載察郁,靜態(tài)檢測衍慎,測試,css 提绕つ啤)

webpack-simple?- A simple Webpack + vue-loader setup for quick prototyping.(一個簡易的 Webpack + vue-loader 設置稳捆,以便于快速開始)

browserify?- A full-featured Browserify + vueify setup with hot-reload, linting & unit testing.(全功能的 Browserify + vueify 設置,包括熱加載麦轰,靜態(tài)檢測眷柔,單元測試)

browserify-simple?- A simple Browserify + vueify setup for quick prototyping.(一個簡易的 Browserify + vueify 設置,以便于快速開始)

simple?- The simplest possible Vue setup in a single HTML file

相關閱讀:

Announcing vue-cli

(譯)Vuejs 自己的構建工具 vue-cli

webpack 基礎入門

webpack?is a?module bundler.

webpack takes modules with dependencies and generates static assets representing those modules.

Webpack 主要特性如下:

同時支持?CommonJS?和?AMD?模塊(對于新項目原朝,推薦直接使用 CommonJS)驯嘱;

串聯式模塊加載器以及插件機制,讓其具有更好的靈活性和擴展性喳坠,例如提供對 CoffeeScript鞠评、ES6 的支持;

可以基于配置或者智能分析打包成多個文件壕鹉,實現公共模塊或者按需加載剃幌;

支持對 CSS,圖片等資源進行打包晾浴,從而無需借助 Grunt 或 Gulp负乡;

開發(fā)時在內存中完成打包,性能更快脊凰,完全可以支持開發(fā)過程的實時打包需求抖棘;

對 sourcemap 有很好的支持,易于調試狸涌。

Webpack 將項目中用到的一切靜態(tài)資源都視之為模塊切省,模塊之間可以互相依賴。Webpack 對它們進行統(tǒng)一的管理以及打包發(fā)布帕胆。

Webpack 一般作為全局的 npm 模塊安裝:

npm install -g webpack

安裝成功后朝捆,在命令行輸入 webpack -h 即可查看當前安裝的版本信息,以及可以使用的指令懒豹。直接執(zhí)行 webpack 命令會默認使用當前目錄的 webpack.config.js 作為配置文件芙盘。如果要指定另外的配置文件,可以執(zhí)行:

webpack—configwebpack.custom.config.js

Webpack 可以通過直接命令行來指定參數:

# 命令 入口文件 生成文件webpackentry.jsbundle.js

但我們通常會將所有相關參數定義在配置文件中脸秽,配置文件通常放在項目根目錄之下儒老,其本身也是一個標準的 CommonJS 模塊。一個最簡單的 Webpack 配置文件 webpack.config.js 如下所示:

module.exports= {? entry:['./app/entry.js'],? output: {? ? path: __dirname +'/assets/',? ? publicPath:"/assets/",? ? filename:'bundle.js'}};

其中 entry 參數定義了打包的入口文件豹储,數組中的所有文件會按順序打包贷盲。每個文件進行依賴的遞歸查找淘这,直到所有相關模塊都被打包剥扣。output 參數定義了輸出文件的位置巩剖,其中常用的參數包括:

path: 打包文件存放的絕對路徑

publicPath: 網站運行時的訪問路徑

filename: 打包后的文件名

Webpack 會分析入口文件,解析包含依賴關系的各個文件钠怯。這些文件(模塊)都打包到?bundle.js(打包后的文件名) 佳魔。Webpack 會給每個模塊分配一個唯一的 id 并通過這個 id 索引和訪問模塊。在頁面啟動時晦炊,會先執(zhí)行?entry.js?中的代碼鞠鲜,其它模塊會在運行依賴引入(require / import)代碼的時候再執(zhí)行。

官網首頁的說明:

// webpack is a module bundler// This means webpack takes modules with dependencies//? and emits static assets representing those modules.// dependencies can be written in CommonJsvarcommonjs =require("./commonjs");// or in AMDdefine(["amd-module","../file"],function(amdModule, file){// while previous constructs are sync// this is asyncrequire(["big-module/big/file"],function(big){// for async dependencies webpack splits//? your application into multiple "chunks".// This part of your application is//? loaded on demand (Code Splitting)varstuff =require("../my/stuff");// "../my/stuff" is also loaded on demand//? because it's in the callback function//? of the AMD require});});require("coffee!./cup.coffee");// "Loaders" can be used to preprocess files.// "Loaders" 可以用來對文件進行預處理// They can be prefixed in the require call// 可以寫在 require 代碼中//? or configured in the configuration.// 也可以在配置文件中進行配置require("./cup");// This does the same when you add ".coffee" to the extensions//? and configure the "coffee" loader for /\.coffee$/functionloadTemplate(name){returnrequire("./templates/"+ name +".jade");// many expressions are supported in require calls// a clever parser extracts information and concludes//? that everything in "./templates" that matches//? /\.jade$/ should be included in the bundle, as it//? can be required.}// ... and you can combine everythingfunctionloadTemplateAsync(name, callback){require(["bundle?lazy!./templates/"+ name +".jade"],function(templateBundle){? ? ? ? templateBundle(callback);? ? });}

更多信息可以參考 webpack 的官方網站断国。

相關閱讀:

以下四篇文章看完并跟著操作就能對 webpack 有個最起碼的理解贤姆,了解其最基本的使用方式。

webpack入坑之旅(一)不是開始的開始

webpack入坑之旅(二)loader入門

webpack入坑之旅(三)webpack.config入門

webpack入坑之旅(四)揚帆起航

深入淺出React(二):React開發(fā)神器Webpack

.vue file

以?.vue?為后綴的文件 - 單文件組件

推薦使用?vue-webpack-simple-boilerplate?這個模板來進行 vuejs 的組件化開發(fā)的學習稳衬。

命令行安裝:

# 全局安裝 vue-clinpm install -g vue-cli# 模板名為 webpack-simple(目前官方有 5 個模板可供選擇霞捡,見上文) # 項目名為 my-project (自定義)# 下面命令執(zhí)行后會出現幾個問題,用于配置你的項目信息薄疚,可以一路回車(即采用默認值)vue init webpack-simple my-project# 進入項目目錄cdmy-project# 執(zhí)行模塊的下載安裝碧信,所需模塊的配置信息在 package.json 中npm install# 執(zhí)行 dev 腳本(也在 package.json 中),即項目開發(fā)模式npm run dev# npm run build 執(zhí)行 build 腳本街夭,項目文件打包生成

npm run dev: Webpack +?vue-loader?with proper config for source maps & hot-reload.

npm run build: Production build with HTML/CSS/JS minification.

提醒:要是執(zhí)行命令?npm run dev?后出現錯誤,有可能是 node 版本導致的,請將 node 更新到最新版侥钳,對于 win 用戶來說刹勃,直接官網再下載一個最新版本的安裝包來安裝即可。

接下去每次要對項目進行開發(fā)時埃碱,就到項目根目錄碴卧,右鍵+Shift 鍵,選擇?在此處打開命令窗口乃正,然后執(zhí)行命令?npm run dev住册,即可在?localhost:8080?地址上看到運行的項目,修改代碼并保存后頁面還會自行更新(使用了熱加載技術?webpack-dev-server --inline --hot?)瓮具。

Automatic Refresh

The webpack-dev-server supports multiple modes to automatic refresh the page:

Iframe mode (page is embedded in an iframe and reloaded on change)

Inline mode?(a small webpack-dev-server client entry is added to the bundle which refresh the page on change)

Each mode also supports Hot Module Replacement in which the bundle is notified that a change happened instead of a full page reload. A Hot Module Replacement runtime could then?load the updated modules and inject them into the running app.

相關閱讀:

webpack-dev-server?- a Node.js based server that supports live reloading and is used for development of webpack powered applications.

webpack入坑之旅(五)加載 vue 單文件組件

vue-loader

vue-loader 用于 webpack 中荧飞,用來對以?.vue?(單文件組件)結尾的文件進行處理。

vue-router

vue-router?- 單頁面應用路由

使用 Vue.js 和 vue-router 創(chuàng)建單頁應用非常的簡單名党,使用 Vue.js 開發(fā)叹阔,整個應用已經被拆分成了獨立的組件。在使用 vue-router 時传睹,我們需要做的就是把路由映射到各個組件耳幢,vue-router 會把各個組件渲染到正確的地方。

閱讀?vue-router 文檔

相關閱讀:

webpack入坑之旅(六)配合 vue-router 實現 SPA

Vuex

閱讀?Vuex 文檔,中文版的過時了睛藻,盡量閱讀英文版的启上。

Vue 2.0

need-to-insert-img

一張腦圖帶你認識 Vue 2.0( 來源微博@勾三股四 )

Announcing Vue.js 2.0

(譯)Announcing Vue.js 2.0

Code Review for Vue 2.0 Preview

Vue 2.0 數據綁定實現一瞥

框架對比

對比其它框架

Vue 視頻教程(需科學上網)

Vue JS Intro

最輕松簡單的入門教程,可以初步對 Vuejs 的使用有個概念店印。

An Introduction into Vue.js: Building an Example App

Repository(該視頻教程的代碼資源文件)

很棒的視頻教程冈在,可以最大化的接觸到 Vuejs 所能做到的事情,是我當時看到的對我來說最好的 Vuejs 相關視頻教程按摘。

Vue Js Tutorial Intro with TodoList

就是對文檔里展示的?Todolist?的視頻化演示包券,文檔理解了就沒必要再看了。

Weather app with VueJS & OpenWeatherMap

Learn how to deal with JSON data with Vue / jQuery

use $.getJSON

隨便看看炫贤。

Learning Vue 1.0: Step By Step

沒看過溅固,但看目錄好像不錯,很多值得看一下兰珍,免得自己思路不清晰亂踩坑(而且視頻是免費的)发魄。

名詞解釋

hot-reload(熱加載)

Hot Reloading

The idea behind hot reloading is to keep the app running and to inject new versions of the files that you edited at runtime. This way, you don't lose any of your state which is especially useful if you are tweaking the UI.

在項目運行過程中,將修改的文件的新版本注入到頁面中俩垃,只更新相應的模塊励幼,這樣的話,你不會丟失頁面的狀態(tài)信息口柳,這一點在你微調 UI 的時候尤其有用苹粟。

相關信息:

Introducing Hot Reloading

資源

加入 Vue 社區(qū)?- 社區(qū)、第三方資源跃闹、參與 Vue 開發(fā)(參與規(guī)則嵌削,Vue 的主要組件)

vue-devtools?- Chrome devtools extension for debugging Vue.js applications.

Awesome Vue.js?- A curated list of awesome things related to Vue.js

coligo.io?- 在學習 vuejs 的同學,可以看看這個網站望艺,上面都是些 vuejs 不錯的案例教程

如果你打賞我的話苛秕,我會很開心的~~

贊賞支持

?前端

? 著作權歸作者所有

舉報文章

關注Alexee

寫了 27680 字,被 330 人關注找默,獲得了 453 個喜歡

是的艇劫,我有強迫癥 PS: 歡迎關注我的微信訂閱號 Alexee Github: https://github.com/SuperAL 掘金: https://juejin.im/user/5735e12e1ea493006420bafb SegmentFault: https://segmentfault.com/u/alexee 開發(fā)者頭條獨家號: https://toutiao.io/subjects/29096

喜歡


216

更多分享

被以下專題收入,發(fā)現更多相似內容

Web前端之路

程序員

讓前端飛

前端開發(fā)那些事

Vue.js 資料

前端

Vue

展開更多?

vue開源項目庫匯總

轉載 :OpenDiggawesome-github-vue 是由OpenDigg整理并維護的Vue相關開源項目庫集合惩激。我們會定期同步OpenDigg上的項目到這里店煞,也歡迎各位提交項目給我們。 如果收錄的項目有錯誤风钻,可以通過issue反饋給我們顷蟀。這里的項目Star數不是實時...

?果汁密碼

vue(2) - 收藏集 - 掘金

javascript 正則表達式總結 - 前端 - 掘金為什么要使用正則表達式 正則表達式通過由普通字符和特殊字符組成的文字模板完成對字符串的校驗,搜索骡技,替換鸣个。在javascript中類似這樣 ... 平時自己項目中用到的 CSS - 掘金css有些屬性容易忘記,半天不寫就...

?掘金官方

vue開源項目庫匯總

來源:github.com Vue.js開源項目速查表:https://www.ctolib.com/cheatsheets-vuejs.html UI組件 element ★12468 - 餓了么出品的Vue2的web UI工具套件Vux ★7759 - 基于Vue和We...

?zhangtaiwei

SKIFT:全球最佳目的地旅游網站Top25

如今最現代最成功的目的地旅游網站必須涵蓋內容的營銷,展示的形象以滿足不同消費者的需要囤萤,設計上采取移動優(yōu)先策略昼窗,以及使用更多大尺寸照片以及豐富視頻內容。 如今選擇出我們心目中世界上最好的目的地旅游網站遠比2013年更難阁将,更具有挑戰(zhàn)性膏秫,因為旅游局的網站都在前端上優(yōu)化了他們的網站...

?innoutbound

我們心里都住著一個孩子吧

今晚右遭,月亮特別圓做盅,特別亮。 不喜歡孤獨的我卻自己一個人走在校園里窘哈,走在道路的正中間吹榴,兩邊微微亮的路燈將我的影子拉長,變短滚婉,那一刻图筹,感覺整個月亮都是我的。 秋風呼呼而過让腹,一片片樹葉跟隨風的步伐远剩,旋轉,慢慢的骇窍,慢慢的瓜晤,落到地面,一層層疊積腹纳,在月光下痢掠,泛著黃色的微光。 21歲的年...

?明羽繁

他們在1990

我常想嘲恍,若是我去創(chuàng)作一部長篇小說足画,我會寫什么?我不是一個天馬行空佃牛,想象力豐富的人淹辞,也沒經歷過跌宕起伏的人生。我的祖輩曾有些傳奇俘侠,只是年代久遠桑涎,信息寥寥,即便是寫兼贡,恐怕也沒辦法交代清楚攻冷。那么我寫什么呢? 前些日子遍希,父親參加了一次聚會等曼,回來后唏噓不已。1990年,他所在的鄉(xiāng)鎮(zhèn)企...

?開顏棠棠

老虎吃人

畢老師來看我禁谦,說老虎吃人的事情發(fā)生后她很糾結胁黑,晚上沒有睡好。 我好奇怪州泊,老虎吃人的事發(fā)生了丧蘸,我沒有啥感覺,只有網絡上大家都有的認識遥皂,不作死不會死力喷。 而且在看了網絡上的詳細信息后,能感覺到這個人的問題非常大演训。所以任何事都是有原因的弟孟,沒有無緣無故的事情發(fā)生。 而我對畢老師說样悟,就...

?開心的靈通

女人一旦狠起來拂募,讓你失去“重新做人”的機會!

上個月媽媽來電話跟我說小A離婚了窟她,這太讓我驚訝了陈症,足足驚訝了一個星期。小A是我的小學同學震糖,她們夫婦的結合有過波折录肯,當年,聽說小A老公腳踏兩船试伙。小A的家境屬于書香之家嘁信,父母教書的,獨生女疏叨。而另一個女子聽說是當官的女兒潘靖,家境優(yōu)越,也是獨生女蚤蔓。家境好的這位懷孕了卦溢,也許是孕期反應脾...

?芳子的平臺

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市秀又,隨后出現的幾起案子单寂,更是在濱河造成了極大的恐慌,老刑警劉巖吐辙,帶你破解...
    沈念sama閱讀 211,639評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件宣决,死亡現場離奇詭異,居然都是意外死亡昏苏,警方通過查閱死者的電腦和手機尊沸,發(fā)現死者居然都...
    沈念sama閱讀 90,277評論 3 385
  • 文/潘曉璐 我一進店門威沫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人洼专,你說我怎么就攤上這事棒掠。” “怎么了屁商?”我有些...
    開封第一講書人閱讀 157,221評論 0 348
  • 文/不壞的土叔 我叫張陵烟很,是天一觀的道長。 經常有香客問我蜡镶,道長雾袱,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,474評論 1 283
  • 正文 為了忘掉前任帽哑,我火速辦了婚禮谜酒,結果婚禮上叹俏,老公的妹妹穿的比我還像新娘妻枕。我一直安慰自己,他們只是感情好粘驰,可當我...
    茶點故事閱讀 65,570評論 6 386
  • 文/花漫 我一把揭開白布屡谐。 她就那樣靜靜地躺著,像睡著了一般蝌数。 火紅的嫁衣襯著肌膚如雪愕掏。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,816評論 1 290
  • 那天顶伞,我揣著相機與錄音饵撑,去河邊找鬼。 笑死唆貌,一個胖子當著我的面吹牛滑潘,可吹牛的內容都是我干的。 我是一名探鬼主播锨咙,決...
    沈念sama閱讀 38,957評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼语卤,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了酪刀?” 一聲冷哼從身側響起粹舵,我...
    開封第一講書人閱讀 37,718評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎骂倘,沒想到半個月后眼滤,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 44,176評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡历涝,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,511評論 2 327
  • 正文 我和宋清朗相戀三年诅需,在試婚紗的時候發(fā)現自己被綠了情妖。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,646評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡诱担,死狀恐怖毡证,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情蔫仙,我是刑警寧澤料睛,帶...
    沈念sama閱讀 34,322評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站摇邦,受9級特大地震影響恤煞,放射性物質發(fā)生泄漏。R本人自食惡果不足惜施籍,卻給世界環(huán)境...
    茶點故事閱讀 39,934評論 3 313
  • 文/蒙蒙 一居扒、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧丑慎,春花似錦喜喂、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至腻异,卻和暖如春进副,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背悔常。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評論 1 266
  • 我被黑心中介騙來泰國打工影斑, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人机打。 一個月前我還...
    沈念sama閱讀 46,358評論 2 360
  • 正文 我出身青樓矫户,卻偏偏與公主長得像,于是被迫代替她去往敵國和親姐帚。 傳聞我的和親對象是個殘疾皇子吏垮,可洞房花燭夜當晚...
    茶點故事閱讀 43,514評論 2 348

推薦閱讀更多精彩內容