前端高效開發框架技術(疫情會不會大暴發 聽聽鍾南山怎麼說)

(給達達前端加星標,提高前端技能)css

不用怕html

https://v.qq.com/x/cover/mzc0...前端

內容有點多,也請你靜下來,慢閱讀,從此多多關照。vue

 Vue框架基礎知識node

mvx模式介紹,x這裏表明是未知數的意思,那麼有多少mvx模式要咱們瞭解的呢?mvc模式,mvvm模式,相互之間的區別。python

讓咱們說一說mvc模式,這模式很常見,mvc模式,mvc模式是移動最普遍的軟件架構之一,把應用程序分爲三部分,分別爲模型,Model,視圖view,以及控制器controller。webpack

如今的咱們常說的是Mvvm模式,這也是面試官會問,什麼是Mvvm模式的呢,mvvm模式是把mvc模式的controller改爲viewmodel。ios

view的變化會自動更新viewmodel,viewmodel的變化也會自動同步到view上顯示。git

web前端開發階段,原生代碼開發階段,使用HTML,css,JavaScript代碼進行前端開發,學習web原生的優勢,就是學習成本低,容易上手,很差的就是代碼結構混亂,代碼冗餘,瀏覽器兼容性不成熟,不利於分工合做。github

代碼庫開發的階段,就是使用成熟的開源擴展庫進行前端的開發,優勢就是開發快速,瀏覽器兼容性良好,缺點就是視圖層和數據層混合在一塊兒,不利於團隊分工合做。

框架開發階段,採用前端mvc模式或者是Mvvm模式開發,優勢就是代碼分層,便於團隊合做,便於後續代碼維護,缺點就是學習成本高,框架更新迭代快。

vue框架的學習,vue是一套構建用戶界面的漸進式框架,vue只關注圖層,採用自底向上增量開發的設計。

模板

主要內容

Vue基礎知識

Vue框架基礎語法、Vue開發工具

Vue組件

Vue組件、Vue模塊化開發

Vue工程化開發

npm/yarn和webpack開發工具、Vue-cli開發工具、單文件工具

Node.js基礎和Axios網絡請求

Node.js構建Web服務器、Axios發送ajax請求、postman網絡調試工具

Vue-Router路由

單頁面應用SPA、Vue-Router實現路由機制

Vuex狀態管理

Vuex狀態管理、本地存儲

Vue-UI庫

Vue中的UI庫

三大框架的對比

Angular

React

Vue

發佈時間

2009年

2013年

2014年

維護者

谷歌

Facebook

尤雨溪

視圖引擎

HTML

JSX

HTML

學習曲線

陡峭

較複雜

簡單

大小

500K+

130K+

50K+

功能複雜度

完善

完善

簡單

文檔

英文

英文

中文

應用場景

大型複雜應用

中大型應用、移動跨平臺開發

中小型輕量級應用

如何使用咱們的vue.js框架

安裝,在vue.js的官網上下載vue.min.js並用script標籤引入,cdn方式引入vue.js文件,vue推薦使用地址。

第一個vue項目實例

實例對象

vue實例對象就是vue框架的一個核心。

配置項el,把vue實例掛載到dom元素上,而後經過id綁定到html元素;配置項data,就是數據對象,vue實例的數據,注意了,數據不要與methods中的方法重名;配置項methods,事件對象,包含事件全部觸發的函數,注意了,方法名不要與data中的數據重名了;配置項computed,計算屬性;配置項watch,表示監聽器;配置項directives,表示自定義指令。

配置項鉤子(hook)函數,hook(鉤子)函數,不一樣生命週期引起的動做,路由鉤子函數,路由組件在不一樣狀態時觸發。

components表示組件容器;配置項template,定義模板,能夠是字符串,也能夠是「#」選擇器,props配置項,用於接收父組件的數據;router配置項,路由,store配置項,vuex狀態。

屬性

說明

vm.$el

Vue 實例使用的根 DOM 元素

vm.$data

Vue的data配置項

vm.$options

用於當前 Vue 實例的初始化選項

vm.$props

當前組件接收到的 props 對象

vm.$parent

父實例(若是當前實例有的話)

vm.$root

當前組件樹的根 Vue 實例

vm.$children

當前實例的直接子組件

vm.$refs

原生DOM元素或子組件註冊引用信息

vm.$slots

用來訪問被插槽分發的內容

vm.$router

全局路由(vue-router插件)

vm.$store

vuex 狀態對象(vuex插件)

方法

說明

vm.$emit()

子組件可使用 $emit 觸發父組件的自定義事件

vm.$set()

Vue.set的別名
設置對象的屬性, 這個方法主要用於避開 Vue 不能檢測屬性被添加的限制

vm.$watch

偵聽數據變化

vm.$on()

監聽當前實例上的自定義事件。事件能夠由_vm.$emit_觸發。回調函數會接收全部傳入事件觸發函數的額外參數。

vm.$mount

可使用_vm.$mount()_ 手動掛載(Vue 實例化時沒有 el 選項)

vm.$destroy

徹底銷燬一個實例。清理它與其它實例的鏈接,解綁它的所有指令及事件監聽器。
觸發_beforeDestroy_ 和_destroyed_ 的鉤子。

屬性綁定指令

說明

v-bind

動態改變dom標籤上的屬性
v-bind :class="" 簡寫 :class=""

生命週期,vue實例從開始建立,初始化數據,編譯模板,掛載dom,渲染到更新到渲染,到卸載等一系列過程。

總結一下,四個階段,建立,掛載,更新,銷燬。

使用New Vue()來建立vue實例;接下是beforeCreate調用beforeCreate生命週期鉤子,observe data開始監控data對象數據變化,init events,vue初始化內部事件,created調用created生命週期鉤子,has"el"option?實例中是否含有"el"選項,有調用vm.$mount手動掛載一個未掛載的實例時,has "template" option?是否含有template選項。

模板語法

計算屬性

計算屬性,顧名思義就是經過其餘變量計算得來的另外一個屬性。

計算屬性具備緩存,屢次訪問計算屬性會當即返回以前的計算結果,而不是再次計算後的結果。

computed中的函數,不能傳參。

methods方法

vue對象中可使用methods屬性,用來編寫自定義函數,使用方法是methods屬性由一系列json方法對組成。

渲染

循環數組:

循環對象

數組的更新檢查

push(),pop(),shift(),unshift(),splice(),sort(),reverse()爲變異方法可觸發視圖更新。

filter(),concat(),slice()爲非變異方法,不觸發視圖更新,他們能夠返回新數組,用新數組替換舊數組,就能夠刷新視圖。

條件渲染

指令

說明

v-if

根據其後表達式的bool值進行判斷是否渲染該元素

v-else-if

_v-if_ 的「else-if 塊」,能夠連續使用

v-else

表示_v-if_ 的「else 塊」
_v-else_ 元素必須緊跟在帶_v-if_ 或者_v-else-if_ 的元素的後面,不然它將不會被識別。

事件與表單

事件處理,須要綁定事件處理函數,在Vue中綁定事件處理,直接在HTML元素上使用v-on指令綁定便可。

指令

說明

v-on:click

簡寫: @click=""click、mouseover、mouseout、mouseup、mousedown、dblclick 、contextmenu、keydown、keyup等

事件對象,事件處理過程當中會觸發event事件對象,這個event對象表明當前事件的狀態,好比事件觸發時的HTML元素是什麼,event.target來獲得觸發事件的HTML元素,能夠獲得事件的類型。

event.type獲得當前的事件類型。

屬性和方法

描述

event.type

觸發的事件類型

event.target

觸發事件的HTML元素

event.preventDefault( )

阻止事件的默認行爲

event.stopPropagation( )

阻止事件冒泡

藉助事件對象實現一個事件委託機制,從而提升咱們應用程序的一個性能,什麼是事件委託機制?事件委託機制在列表渲染過程當中,大部分都是v-for渲染過程當中,藉助event事件對象,在父元素之上綁定事件處理函數而不是在子元素之上綁定事件處理函數。

表單處理

指令

說明

v-model

雙向數據綁定支持標籤:<input> <textarea> <select>

表單事件

觸發控件

說明

focus

input框、textarea框

輸入框獲取到輸入焦點

blur

input框、textarea框

輸入框失去焦點

click

單選框、多選框

選中某一個單選項或複選框

change

下拉列表

切換下拉列表項

submit

提交按鈕

單擊提交按鈕

vue組件,組件是vue.js的功能之一,目的是爲了可重用性高,減小重複性的開發,在結構上相近或相同的代碼進行封裝,成爲一個高度可複用的部件稱爲組件。

選項

說明

模板(template)

模板聲明瞭數據和最終展示給用戶的DOM之間的映射關係。

初始數據(data)

一個組件的初始數據狀態。對於能夠複用的組件來講,一般是私有的狀態。

接受的外部參數(props)

組件之間經過參數來進行數據的傳遞和共享。參數默認是單向綁定(由下往上),但也能夠顯示聲明爲雙向綁定。

方法(methods)

對數據的改動操做通常都在組件的方法內進行。能夠經過v-on指令將用戶輸入事件和組件方法進行綁定。

生命週期鉤子函數(lifecycle hooks)

一個組件會觸發多個生命週期鉤子函數,好比created、attached、destroyed等。在這些鉤子函數中,咱們能夠封裝一些自定義的邏輯。和傳統的MVC相比,這能夠理解爲Controller的邏輯被分散到了這些鉤子函數中。

vue組件的使用,先註冊後使用,vue組件能夠在全局註冊,也能夠在局部註冊。

建立組件

註冊組件,使用組件,注意事項

注意事項

模板:使用id綁定

命名:組件名不要是html標準標籤名,若是用駝峯定義,html中引用組件時,改成短橫線命名

data屬性表名vue組件可用的響應式數據,是vue實例的數據對象;vue將會遞歸data的屬性轉變爲getter/setter,讓data的屬性可以響應數據變化,對象必須是純粹的對象,瀏覽器api建立的原生對象,原型上的屬性會被忽略。

data訪問原始數據對象,Vue實例代理了data對象上全部的屬性。

props傳遞數據,父組件和子組件之間的數據通訊。

事件通訊

父組件和子組件之間的數據操做,是經過Props屬性和$emit()方法來實現的

props,聲明位置在子組件中聲明,屬性值,在組件模板中綁定。

$emit,子組件向父組件傳值,使用$emit觸發父組件方法。

注意,props屬性名若是用駝峯定義,html標籤中改成短橫線命名,$emit自定義事件不能使用駝峯,短橫線命名。

若是prop是一個對象或數組,子組件內部改變它會影響父組件的狀態。

非父子通訊

本質上經過派發事件-》監聽事件從而更改值。

Vue全家桶之組件化開發

Vue插槽詳解 | 什麼是插槽?

來吧!一文完全搞定Vue組件!

組件類型

動態組件,主要是在使用過程當中,可能須要動態的切換組件的顯示內容。

多個組件主要是使用同一個掛載點。

遞歸組件,在組件內部能夠嵌套調用其餘組件,甚至能夠遞歸地調用當前自身組件。

vue工程化工具

node.js是一個讓JavaScript運行在服務端的開發平臺,它讓JavaScript成爲和PHP,python,perl,ruby等服務器端語言分庭抗禮的腳本語言。node.js是一個基於chrome JavaScript運行時創建的平臺,用於方便地搭建響應速度快,易於擴展的網絡應用,node.js使用hijack驅動,非阻塞i/o模型而得以輕量和高效,很是適合在分佈式設備上運行數據密集型的實時應用。

node.js使用module模塊去劃分不一樣的功能,以簡化應用的開發。

引入了Http類庫,而且對http類庫的引用存放在http變量中。

Node.js環境安裝

https://nodejs.org/en/download/

升級npm版本

屬性

說明

name

包名

version

包的版本號。

description

包的描述。

homepage

包的官網 url 。

author

包的做者姓名。

contributors

包的其餘貢獻者姓名。

dependencies

依賴包列表。若是依賴包沒有安裝,npm 會自動將依賴包安裝在 node_module 目錄下。

repository

包代碼存放的地方的類型,能夠是 git 或 svn,git 可在 Github 上。

main

字段指定了程序的主入口文件,require('moduleName') 就會加載這個文件。這個字段的默認值是模塊根目錄下面的 index.js。

kewords

關鍵字

命令

說明

npm help

可查看某條命令的詳細幫助,例如npm help install。

npm install <package>e -g

在本地安裝當前命令行程序,可用於發佈前的本地測試。

npm update <package> -g

使用能夠把全局安裝的對應命令行程序更新至最新版。

npm update <package>

能夠把當前node_modules子目錄裏對應模塊更新至最新版本

npm cache clear

能夠清空NPM本地緩存,用於對付使用相同版本號發佈新版本代碼的人

npm unpublish <package>@<version>

能夠撤銷發佈本身發佈過的某個版本代碼。

yarn使用

Yarn 是 Facebook, Google, Exponent 和 Tilde 開發的一款新的 JavaScript 包管理工具。

它的出現是爲了解決使用npm面臨的問題:

yarm命令

指令

說明

yarn init

初始化項目,生成package.json文件

yarn add 包名

添加依賴包,示例:yarn add [package]、yarn add [package]@[version]、yarn add [package]@[tag]

yarn

根據 package.json 安裝所有依賴包,也可使用 yarn install

yarn upgrade

升級依賴包

yarn remove

移除依賴包

Npm

Yarn

說明

npm init

yarn init

初始化某個項目

npm install/link

yarn install/link

默認的安裝依賴操做

npm install taco -save

yarn add taco

安裝某個依賴,並默認保存到package

npm uninstall taco -save

yarn remove taco

移除某個依賴項目

npm install taco –save-dev

yarn add taco –dev

安裝某個開發時依賴項目

npm updata taco -save

yarn upgrade taco

更新某個依賴項目

npm install taco --global

yarn global add taco

安裝某個全局依賴項目

npm publish/login/logout

yarn publish/login/logout

發佈、登陸、登出,一系列NPM Registry操做

npm run test

yarn run test

運行某個命令,能夠在script腳本中去配置

vue cli是一個基於vue.jsf進行快速開發的完整系統。

文件

說明

build

項目構建(webpack)相關代碼

config

配置目錄,包括端口號等。咱們初學可使用默認的。

node_modules

npm 加載的項目依賴模塊

src

這裏是咱們要開發的目錄,基本上要作的事情都在這個目錄裏。裏面包含了幾個目錄及文件: ² assets: 放置一些圖片,如logo等 ² components: 目錄裏面放了一個組件文件,能夠不用 ² App.vue: 項目入口文件,咱們也能夠直接將組件寫這裏,而不使用 components 目錄 ² main.js: 項目的核心文件

test

初始測試目錄,可刪除

static

靜態資源目錄,如圖片、字體等。

index.html

首頁入口文件,你能夠添加一些 meta 信息或統計代碼啥的

package.json

項目配置文件。

README.md

項目的說明文檔,markdown 格式

vue項目配置

配置項

數據類型

說明

默認值

publicPath

string

基本路徑

'/'

outputDir

string

輸出文件目錄

'dist'

assetsDir

string

靜態資源存放目錄

' '

indexPath

string

輸出路徑

'index.html'

filenameHashing

Boolean

生成的靜態資源在它們的文件名中包含了hash 以便更好的控制緩存

true

pages

Object

在 multi-page 模式下構建應用。每一個「page」應該有一個對應的 JavaScript 入口文件。

undefined

lintOnSave

Boolean

是否在開發環境下經過 eslint-loader 在每次保存時 lint 代碼。

true

runtimeCompiler

Boolean

是否使用包含運行時編譯器的 Vue 構建版本

false

transpileDependencies

Boolean

是否生成source map文件,能夠將其設置爲 false 以加速生產環境構建。

true

crossorigin

String

設置生成的 HTML 中<link rel="stylesheet">和<script> 標籤的 crossorigin 屬性(跨域)。

undefined

integrity

Boolean

在生成的 HTML 中的 <link rel="stylesheet"> 和 <script> 標籤上啓用 Subresource Integrity(SRI:摘要簽名機制,來保證外鏈資源的完整性)。

flase

configureWebpack

Object/function

Object:經過 webpack-merge合併到最終的配置中
function:接收被解析的配置做爲參數

chainWebpack

Function

用來表示是一個函數,會接收一個基於<br/>webpack-chain 的 ChainableConfig 實例。容許對內部的 webpack 配置進行更細粒度的修改。

css.modules

Boolean

默認狀況下,只有_.module.[ext] 結尾的文件纔會被視做 CSS Modules 模塊。設置爲true後你就能夠去掉文件名中的.module並將全部\_.(css|scss|less|styel(us)?)文件視爲CSS Modules文件。

false

css.extract

Boolean/Object

用來設置是否將組件中的 CSS 提取至一個獨立的 CSS 文件中 (而不是動態注入到 JavaScript 中的 inline 代碼)。

生產環境:true
開發環境:fals。

css.sourceMap

Boolean

是否爲 CSS 開啓 source map。

false

css.loaderOptios

Object

用來向 CSS 相關的 loader 傳遞選項

{}

devServer

Object

全部 webpack-dev-server 的選項都支持

devServer.proxy

String/Object

前端應用和後端 API 服務器沒有運行在同一個主機上,須要在開發環境下將 API 請求代理到 API 服務器。

proxy: ''

parallel

Boolean

是否爲Babel或 TypeScript 使用 thread-loader。該選項在系統的 CPU 有多於一個內核時自動啓用,僅用於生產構建。

require('os').cpus().length > 1

pluginOptions

Object

用來傳遞任何第三方插件選項。

js模塊

express服務器開發

Node.js是運行在服務器端的JavaScript。

第一個node應用程序

express

body-parser,node.js中間件,用於處理json,raw,text和url編碼的數據。cookie-parser是一個解析cookie的工具,經過req.cookies能夠取到傳過來的cookie,並把它們轉成對象。multer,node.js中間件,用於處理表單數據。

屬性

說明

req.app

callback爲外部文件時,用req.app訪問Express的實例

req.baseUrl

獲取路由當前安裝的URL路徑

req.body / req.cookies

得到「請求主體」/ Cookies

req.fresh / req.stale

判斷請求是否還「新鮮」

req.hostname / req.ip

獲取主機名和IP地址

req.originalUrl

獲取原始請求URL

req.params

獲取路由的parameters

req.path

獲取請求路徑

req.protocol

獲取協議類型

req.query

獲取URL的查詢參數串

req.route

獲取當前匹配的路由

req.subdomains

獲取子域名

req.accepts()

檢查可接受的請求的文檔類型

req.acceptsCharsets / req.acceptsEncodings / req.acceptsLanguages

返回指定字符集的第一個可接受字符編碼

req.get()

獲取指定的HTTP請求頭

req.is()

判斷請求頭Content-Type的MIME類型

屬性

說明

res.app

同req.app同樣

res.append()

追加指定HTTP頭

res.set()

在res.append()後將重置以前設置的頭

res.cookie(name,value [,option])

設置Cookie

opition

domain / expires / httpOnly / maxAge / path / secure / signed

res.clearCookie()

清除Cookie

res.download()

傳送指定路徑的文件

res.get()

返回指定的HTTP頭

res.json()

傳送JSON響應

res.jsonp()

傳送JSONP響應

res.location()

只設置響應的Location HTTP頭,不設置狀態碼 或者close response

res.redirect()

設置響應的Location HTTP頭,而且設置狀態碼302

res.render(view,[locals],callback)

渲染一個view,同時向callback傳遞渲染後的字符串,若是在渲染過程當中有錯誤發生next(err)將會被自動調用。callback將會被傳入一個可能發生的錯誤以及渲染後的頁面,這樣就不會自動輸出了。

res.send()

傳送HTTP響應

res.sendFile(path [,options] [,fn])

傳送指定路徑的文件 -會自動根據文件extension設定Content-Type

res.status()

設置HTTP狀態碼

res.type()

設置Content-Type的MIME類型

express路由

請求方法

說明

GET

請求一個指定資源的表示形式. 使用GET的請求應該只被用於獲取數據.

HEAD

請求一個與GET請求的響應相同的響應,但沒有響應體.

POST

用於將實體提交到指定的資源,一般致使狀態或服務器上的反作用的更改.

PUT

用請求有效載荷替換目標資源的全部當前表示。

DELETE

刪除指定的資源。

CONNECT

創建一個到由目標資源標識的服務器的隧道。

OPTIONS

用於描述目標資源的通訊選項。

TRACE

沿着到目標資源的路徑執行一個消息環回測試。

PATCH

用於對資源應用部分修改。

pug視圖模板

Cookie

Session

Cookie是把用戶的數據寫給用戶的瀏覽器,在瀏覽器端保存狀態數據,每次訪問服務器時,在HTTP請求消息中傳輸狀態數據。缺點是:數據量太大,HTTP消息傳輸負擔較大;用戶可能會修改cookie信息,致使服務器不安全。

Session技術把用戶的數據寫到用戶獨佔的session中,不一樣用戶經過不一樣的sessionid 辨別。
1.把 sessionid 保存在 客戶端cookie或本地存儲中。
2.瀏覽器發送HTTP請求時,附帶 sessionid 的cookie信息,以便服務器端區分是哪個用戶。 Session技術把用戶的數據寫到用戶獨佔的session中,不一樣用戶經過不一樣的sessionid 辨別。

參數

做用

Secret

一個String類型的字符串,做爲服務器端建立session的簽名

Name

返回客戶端key的名稱,默認爲connect.sid,也能夠本身設置

Resave

強制保存session,即便它沒有變化。默認爲true。建議設置成false。

SaveUninitialized

強制將未初始化的session存儲。當新建了一個session且未設定屬性或值時,它就處於未初始化狀態。在設定一個cookie前,這對於登陸驗證,減輕服務的存儲壓力,極限控制是有幫助的(默認爲true)。建議手動添加。

Cookie

設置返回到前端key的屬性,默認值爲{path: '/', httpOnly: true, secure: false, maxAge: null}。

Rolling

在每次請求時強行設置cookie,這將重置cookie過時時間,默認是false。

目錄/文件

說明

build

項目構建(webpack)相關代碼

config

配置目錄,包括端口號等。咱們初學可使用默認的。

node_modules

npm 加載的項目依賴模塊

src

這裏是咱們要開發的目錄,基本上要作的事情都在這個目錄裏。裏面包含了幾個目錄及文件: 1.sets: 放置一些圖片,如logo等。 2.mponents: 目錄裏面放了一個組件文件,能夠不用。 3.p.vue: 項目入口文件,咱們也能夠直接將組件寫這裏,而不使用 components 目錄。 4.in.js: 項目的核心文件。

static

靜態資源目錄,如圖片、字體等。

test

初始測試目錄,可刪除

.xxxx文件

這些是一些配置文件,包括語法配置,git配置等。

index.html

首頁入口文件,你能夠添加一些 meta 信息或統計代碼啥的。

package.json

項目配置文件。

README.md

項目的說明文檔,markdown 格式。

指令

說明

nodemon -h或者 nodemon --help

使用幫助

nodemon -e

默認的 nodemon監視 .js, .mjs, .coffee, litcoffee和Json文件,經過-e命令你能夠指定你本身的查找列表

nodemon --watch path

nodemon默認只會監視當前的工做路徑,若是你想去監視其餘路徑上的文件,你可使用以下命令: nodemon --watch app --watch libs app/server.js

nodemon --ignore

忽視一些文件被監視

nodemon --delay

有時候你會修改許多文件,這時爲了不沒必要要的重啓,你能夠經過命令指定多少時間後再進行重啓。 nodemon --delay 10 server.js

rs

手動重啓

nodemon ./server.js localhost 8080

指定主機和端口

nodemon --debug ./server.js 80

開啓debug模式

UI框架

開發團隊

github star數

優缺點

element ui(桌面版ui)

餓了麼團隊開源的ui庫

34K

組件豐富,可是界面樣式不太美觀。 http://element-cn.eleme.io/#/...

iView(桌面版ui)

我的團隊開源的ui庫

19K

組件豐富,界面樣式美觀,但使用 render 函數渲染,使用成本較高。 https://www.iviewui.com/docs/...

Vux(移動端ui)

基於微信ui推出的移動端ui庫

14.9K

https://doc.vux.li/zh-CN/

mint-ui(移動端ui)

餓了麼團隊推出的移動端ui庫

13.2K

http://mint-ui.github.io/docs...

陪伴你的365天

從此也請你多多關照

推薦閱讀  點擊標題可跳轉

【面試Vue全家桶】vue前端交互模式-es7的語法結構?async/await

【面試須要-Vue全家桶】一文帶你看透Vue前端路由

【面試須要】掌握JavaScript中的this,call,apply的原理

2019年的每一天日更只爲等待她的出現,好好過餘生,慶餘年 | 掘金年度徵文

進來就是一家人【達達前端技術社羣⑥】

以爲本文對你有幫助?請分享給更多人

關注「達達前端」加星標,提高前端技能

在博客平臺裏,將來的路還很長,也但願本身之後的文章你們能多多支持,多多批評指正,咱們一塊兒進步,一塊兒走花路。

很是感謝讀者能看到這裏,若是這個文章寫得還不錯,以爲「達達」我有點東西的話,以爲我可以堅持的學習,以爲此人能夠交朋友的話, 求點贊,求關注,求分享,對暖男我來講真的

很是有用!

感謝閱讀,原創不易,喜歡就點個[在看] or [轉發朋友圈],這是我寫做最大的動力。

意見反饋

若本號內容有作得不到位的地方(好比:涉及版權或其餘問題),請及時聯繫咱們進行整改便可,會在第一時間進行處理。

這是一個有質量,有態度的公衆號

點關注,有好運

相關文章
相關標籤/搜索