1. 程式人生 > >vue 開發2017年變化回顧及2018年展望

vue 開發2017年變化回顧及2018年展望

vue.js 變化

從 github 的釋出記錄我們可以看到2017年 vue.js 的第一個釋出為 v2.1.9,最後一個為 v2.5.13,主要釋出小版本 2.2~2.5。這些釋出提升了vue 與 TypeScript 的結合、改進了對服務端渲染(SSR)和 native 渲染的支援、提供了更好的測試、開發體驗及其他的一些功能與優化。

[email protected] 變化

1)使用 v-for 必須要新增 key 屬性。

2)單檔案元件(SFC)標籤需要閉合,儘管 html5 中標籤沒有閉合也是有效的。

3)prop 屬性和 computed 屬性定義在元件的原型上,而不是作為每個例項自身的屬性。

4)更好的錯誤處理 Vue.config.errorHandler

vue.config.errorHandler = function(err, vm, info) { // handle error}

在 2.2.0+,這個鉤子函式可以捕獲元件生命週期鉤子中產生的錯誤,如果這個函式為 undefined,捕獲的錯誤將會使用 console.error 打印出來而不會使應用崩潰。

在 2.4.0+,也會捕獲 vue 自定義事件的 handler 中丟擲的錯誤。

錯誤追蹤服務如 Sentry 和 Bugsnag 提供了和這個選項的官方整合。

5)Vue.util 中暴露的一些方法和屬性被移除了。

6)服務端渲染改進

7)元件自定義 v-model

自定義元件允許使用 v-model 時自定義屬性和事件,預設使用 value 屬性和 input 事件。

8)provide 和 inject

9)vm.$props

可以通過 this.$props 獲取元件當前屬性

10) 和 支援 duration 屬性

11)效能分析 Vue.config.performance

12)keep-alive 增加 activated 和 deactivated 鉤子函式

13)vm.$on 支援多事件

14)v-on 支援新的 mouse event 修飾符 .left, .right, .middle

15)使用駝峰風格屬性將會警告(實際上單檔案元件並沒有此問題,因為會自動轉化為短橫線分隔式命名)

[email protected] 變化

1)許多重要的服務端渲染的改進,釋出了 ssr guide。

2)非同步元件改進、函式式元件改進

3).sync 修飾符迴歸。不過只是一個簡單的語法糖,:foo.sync 等價於 :foo="bar" @update:foo="val => var = val",子元件更新 foo 的值時,需要明確地觸發事件:

this.$emit('update:foo', newValue)

4)Vue.config.errorHandler 支援自定義指令和 nextTick 回撥中丟擲的錯誤

5)v-on 支援 .passive 修飾符

6)屬性驗證支援 type: Symbol

7)style 繫結支援陣列

<div :style="{ display: ["-webkit-box", "-ms-flexbox", "flex"] }">

[email protected] 變化

1)完全的服務端渲染 + 非同步元件支援。這意味著在服務端渲染中非同步元件/程式碼分割不再侷限於路由級別。

2)inheritAttrs 選項和 $attrs, $listeners

<div>
  <input v-bind="$attrs" v-on="$listeners">
</div>

3)v-on 支援物件

<button v-on="{ mousedown: doThis, mouseup: doThat }"></button>

4)增加 comments 選項

預設 false,設定為 true 時,將會保留 tempalte 裡面的 html 註釋

5)服務端渲染效能提升了2~8倍(取決於你的元件可以優化多少)

[email protected] 變化

1)增加 errorCaptured 鉤子來增強錯誤處理

2)TypeScript 宣告改進

3)函式式元件改進

template 支援函式式元件

<template functional>
  <div>{{ props.foo }}</div></template>

4)v-on 改進

添加了 .exact 修飾符

<!-- this will fire even if Alt or Shift is also pressed --><button @click.ctrl="onClick">A</button><!-- this will only fire when only Ctrl is pressed --><button @click.ctrl.exact="onCtrlClick">A</button>

key 修飾符,如:

<input @keyup.page-down="onPageDown">

5)簡化的 scoped slot

6)nextTick 內部實現改變

在 v-on 內繫結的事件處理函式中的 DOM 更新延遲由 micro task 改成了 macro task

vue-router 變化

1)傳遞屬性給路由元件

在元件中使用 $route 耦合性非常強,通過傳遞屬性的方式可以解耦,大大增強元件的靈活性。

2)元件內的鉤子函式 beforeRouteUpdate

使用這個鉤子函式,可以不用像之前那樣必須 watch $route

3)router.addRoutes

動態新增路由的利器

4)router.push() 和 router.replace() 支援可選的第二個回撥引數(onComplete)和第三個回撥引數(onAbort)

5)導航的 next 函式支援接收一個錯誤作為引數

6)新的 router guard 方法 router.beforeResolve()

7)新的路由例項選項 fallback

控制路由當瀏覽器不支援 history.pushState 時是否 fallback 到 hash 模式。當服務端渲染需要相容 ie9 時,設定為 false,因為服務端渲染不能使用 hash 路由模式,而 ie9 不支援 history.pushState。

8)當瀏覽器支援 history.pushState 時,hash 模式也可以支援 scrollBehavior,同時這個函式也支援返回 Promise。

9)釋出了 v3.x,主要是為了相容 TypeScript。

vuex

vuex 沒有大的變化,有新增一下方法。和 vue-router 一樣釋出了 v3.x,也是為了相容 TypeScript。

2018 展望

vue 3.x

2018年很有可能釋出 Vue 3,這個版本只支援長期更新的瀏覽器,如 Edge,不會支援 IE。主要改變的是 vue.js 內部,外部 api 會盡量 100% 相容。對於低版本瀏覽器,可以使用 vue 2.x,因為2.x 和 3.x 將會同時維護。檢視計劃

vue-cli 3.x

vue-cli 2.x 暴露了一堆配置,對新手很不友好,更重要是這樣很難直觀地知道專案相對於預設配置的修改,而且這些配置直接從 github 拉取下來,也沒有版本的概念。

vue-cli 3.x 將會只暴露一個配置的 js 檔案,並且會預設很多預設配置,可能會類似於 Nuxt.js,具體檢視討論

vue-devtools 4.x(已釋出)

新發布的 vue-devtools 比上一個版本強大了很多,支援從頁面中選擇元件、Inspect DOM、過濾觀察的 data/state 等,直接編輯 data 等。

服務端渲染

隨著 Nuxt 1.0 正式版本的釋出,相信接下來很多公司都會將其用於部分對 SEO 有要求的官網頁面。

移動端

weex 和 nativescript-vue 被越來越多的公司用於生產環境了,但是成熟度、流行程度相對於 react 的 react-native 有一段距離。ios11.3 也支援了 Service Workers,也許接下來 PWA 會很流行?

style guide

目前官方只發布了 beta 的 style guide,接下來可能會發布正式版,配合 eslint-plugin-vue 讓我們寫出更好的 vue 程式碼。

原文地址:https://www.cnblogs.com/ang-/p/8371330.html

.NET社群新聞,深度好文,歡迎訪問公眾號文章彙總 http://www.csharpkit.com

640?wx_fmt=jpeg

相關推薦

vue 開發2017變化顧及2018展望

vue.js 變化從 github 的釋出記錄我們可以看到2017年 vue.js 的第一個釋出

2018全年顧及2019計劃

一、2018年全年回顧        2018年12月16日,真的是有點傷感,這預示著本熊即將結束單身的第24個年頭,步入第25個年頭,呸,換個話題。又到了寫年終總結的時候了,今天本熊放假,就回顧一下本熊2018年的生活。      

平安科技Java開發三面面經(201812月)

上週接到平安HR邀約面試的電話,約在上週6,過去面試。因為之前面過平安壽險,所以 應該是簡歷被撈了一下。說是現場直接走完 面試流程,於是就去了。現場共2輪技術面+1輪HR面,3輪面試過了的話,後面會做一份IQ和EQ測試題(這個測試掛了,就GG,而且3個月不 能再面平安任何崗位,要認真點

Vue-開發筆記-阻止頁面退

next func for 原生 component vue app 路由配置 筆記 1.原生js方法 <script language="javascript"> //防止頁面後退 使用在vue時 掛載到mounted中 history.p

北京工作三程式設計師,20184~5月面試經歷

1、新東方  04_19 技術面試,兩輪,地點:中關村地鐵站E口,鼎好大廈6層, 面試官:龍彥俊,李經理    面試時間:2018_04_19_10:30(提前到了45分鐘) 1、自我介紹 2、專案介紹 3、LiveChat專案,第一個 4、海南海航專案,第二個,

一個7程式設計師的2018的規劃(第一月)

我幹了什麼?        今天是22號了,今天週一,如果不出所料,基本上沒有太多的工作內容要做,最近公司業務調整,以前規劃的很多業務目前都暫停了,17年的大部分專案都是用基於dubbo做的微服務專案,也出現了很多問題,dubbo基礎服務就需要很多人維護,很多框架以前都沒有

一個7程式設計師的2018的規劃

     最近兩年感覺過的很失敗,雖然也有很多收穫,看了很多成功方法論,我覺得我有必要好好的把2018年計劃好,希望到2019年元旦的時候,不會感覺到一年到頭只有年齡增長,而沒有技術上的提高,不知道你有沒有這種感覺匆匆忙忙好多年,驀然回首,啥也沒有,感覺自己的過去就是個空白,

2017 的 人生 hard 模式終於結束了,2018歸初心

業務 是我 lead 重復 電話 機會 我們 當前 裏的 2017 年的 人生 hard 模式終於結束了,2018年回歸初心 2017年對於我個人來講, 毫不誇張的說 算是近十年來除了高考那一年,最最驚心動魄的一年了,沒有之一。 》》》開篇 : 2017年年底的時候,朋友圈

Vue全家桶+SSR+Koa2全棧開發美團網(已完結)2018(最全)

1. SpringMVC Json互動   在 Java WEB 中經常用到 Json 資料來進行介面呼叫,傳遞資料,主要是因為 Json 格式的資料容易解析。SpringMVC支援 Json 格式的資料使用註解進行解析或轉為 Json。 2. SpringMVC Json 互動相關注解   @

IDC:2017中國網絡安全市場分析與2018預測

idc 網絡安全市場 預測 在2017年11月14日,IDC中國在北京召開了2017 CXO數字化轉型年度盛典。會上IDC發表了一些跟中國網絡空間安全市場的一些預測、分析和觀點。在上午的主會場,發布了IDC對2018年中國ICT市場的10大預測,其中包括安全:在對安全的預測中,IDC提出了新一代安

2017要過去了,2018來了 !

深圳 人工智能 物聯網 it2017年要過去了,2018年來了 ? 說真的,沒感覺, 早已習慣了深圳的每天忙忙碌碌的生活 ; 下班回家的路上,習慣性的打開收音機, 聽著飛揚971的廣播 , 主持人在熱鬧喜慶的音樂中說著元旦提前訂票的事情,心裏才猛的想起,真的一年又要過去了 , 心裏的感覺怎麽有時還停留去年,

2017總結和2018計劃

所有 感謝 心理 健身 考試 驅動 備考 成了 系統 2017年是豐收一年,2017年也是創造奇跡的一年。 2017年,我的喜得龍鳳寶寶:吉祥和如意。他們的出生時,因為早產近兩個月,當時給我了不少壓力。我現在不願意過多的回憶當時的經歷,因為不論在心理上,還是身體上都是一種煎

【老男孩教育】2018最新版大數據開發課程表

企業 style linu zookeepe family pan storm 大數據分析 zook 老男孩教育大數據開發課程適合所有對大數據開發有興趣的人員,從JavaSE 到大數據生態圈高端課程的開發。課程內容量很大,有一定的難度和深度,認真學習,,技術會有很大程度的提

【異周話題 第 16 期】2018,你最期待的前端開發技術有哪些?

pes 社區 發展 col roc ava 前端技術 試用 帶來 【異周話題 第 16 期】2018年,你最期待的前端開發技術有哪些?話題背景2017年已經過去,2018年如約而至。2017年在前端領域裏,react已經逐漸占據主流,Angular 發布了 v4 以及 v5

2017總結與2018目標和計劃

有意 英語學習 努力 銀行 簡潔 面試 相關 可能 方向   前段時間看到版內經常會有2017年的總結,但我總覺得年還沒過,2017就不算真正的過完,上周五公司開了部門年會,這周五公司要開公司年會,年會完了再過一周多就準備回家了,一年才算快到頭了。今年對於我而言是一個多變的

2018移動端APP的六大開發趨勢

移動端 以及 工具 洞察 商務 基本 應用 clas 統計表   截止到2018年全球擁有智能手機的人數已經將近達到22億人,現如今智能手機已經成為了我們生活中不可缺失的一部分,更有一部分手機族平均每7秒就要看一下手機,可以說手機已經成為人與社會交流接觸首要工具。因此不

資訊 | 20181月15日微信公開課解讀!微信小程序開發資源

歷史 自身 part world 必備 net 運維 結合 looper 引言:2018年1月15日 微信公開課PRO開課了,本次課時內容將涉及:小程序、智慧零售、企業微信、小遊戲 (附學習參考資料) 為了快速理解「2018 微信公開課 PRO 版」上張小龍

2017~2018活動行總結

ado 資深 cti 集成 nds ice 安裝 提升 term 講師:韓梅講師介紹:韓梅老師有著十幾年的IT方面從業經驗。曾在微軟公司的新一代商業軟件平臺發布會,MicrosoftLync媒體見面會、微軟明智IT等眾多微軟大型活動擔任主演講者和技術指導。連續多年受邀參與M

2018數字資產即將爆發數字資產交易系統開發區塊鏈交易平臺技術

數字資產開發 區塊鏈系統開發2018年數字資產即將爆發數字資產交易系統開發區塊鏈交易平臺技術2018年數字資產即將爆發數字資產交易區塊鏈交易平臺技術,有人說2017年是區塊鏈元年,那麽2018年就是區塊鏈爆發之年。所謂爆發,一則體現輿論話題不停,二則體現應用遍地開花,2017雖已過,不過這遍地開花的勢頭卻是

2018企業運維開發經典面試題

楊文 運維開發 面試題 devops python 【崗位職責】負責DevOps業務線項目的實施交付工作負責idc機房、私有雲、公有雲的私有化部署工作負責公司產品的測試、生產環境搭建、維護完善各環境中服務穩定性、監控、日誌、部署、安全等需求??【任職要求】計算機相關專業本科畢業,2年以上的