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
相關推薦
vue 開發2017年變化回顧及2018年展望
vue.js 變化從 github 的釋出記錄我們可以看到2017年 vue.js 的第一個釋出
2018年全年回顧及2019年計劃
一、2018年全年回顧 2018年12月16日,真的是有點傷感,這預示著本熊即將結束單身的第24個年頭,步入第25個年頭,呸,換個話題。又到了寫年終總結的時候了,今天本熊放假,就回顧一下本熊2018年的生活。
平安科技Java開發三面面經(2018年12月)
上週接到平安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
北京工作三年程式設計師,2018年4~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秒就要看一下手機,可以說手機已經成為人與社會交流接觸首要工具。因此不
資訊 | 2018年1月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年以上的