[譯] Vue 2.0 的變化(一)之基本 API 變化

高層級的變化

  • 模板解析器再也不依賴於DOM(除非你使用真正的DOM做爲模板),所以只要你使用字符串模板,你將再也不受到任何1.0版本中的解析限制。可是,若是你依賴在存在的內容中掛載一個元素做爲模板(使用el元素),你將依然受到這些限制。html

  • 編譯器(將字符串模板轉換爲渲染方法的部分)和運行時間如今可以被分開。這裏有兩種不一樣的構建:vue

    • 獨立構建:包括編譯而且運行。這種方式和vue 1.0幾乎徹底同樣。git

    • 運行時編譯:因爲它不包括編譯器,在編譯步驟時要麼預編譯模板,要麼手動編寫渲染功能。npm包默認導出這個版本,那麼你須要有一個編譯的過程(使用BrowserifyWebpack ),從中vueifyvue-loader將能夠進行模板預編譯。github

全局配置

  • Vue.config.silentvue-router

  • Vue.config.optionMergeStrategiesvuex

  • Vue.config.devtoolsnpm

  • Vue.config.errorHandler(新API,全局的掛鉤用於在組件渲染和監控的時候處理未捕獲的錯誤)數組

  • Vue.config.keyCodes(新API,爲v-on配置自定義的key的別名)服務器

  • Vue.config.debug(已丟棄)app

  • Vue.config.async(已丟棄)

  • Vue.config.delimiters(已丟棄)

  • Vue.config.unsafeDelimiters(已丟棄,使用v-html

全局API

  • Vue.extend

  • Vue.nextTick

  • Vue.set

  • Vue.delete

  • Vue.directive

  • Vue.component

  • Vue.use

  • Vue.mixin

  • Vue.compile(新API,只能用於獨立版本構建)

  • Vue.transition

    • stagger(已丟棄,在el上設置

  • Vue.filter

  • Vue.elementDirective(已丟棄,使用組件)

  • Vue.partial (已丟棄,使用功能組件)

選項

data

  • data

  • props

    • prop

    • default

    • coerce(已丟棄,若是你須要轉換prop,請使用compute屬性)

    • prop binding modes(已丟棄,v-model在組件上能夠工做

  • propsData(新API)只能用於實例

  • computed

  • methods

  • watch

DOM

  • el

  • template

  • render(新API)

  • replace(已丟棄,組件如今必須有一個根元素)

生命週期鉤子

  • init(已丟棄,請使用beforeCreate

  • created

  • beforeDestroy

  • destroyed

  • beforeMount(新API)

  • mounted(新API)

  • beforeUpdate(新API)

  • updated(新API)

  • activated(新API,用於keep-alive)

  • deactivated(新API用於keep-alive

  • ready(已丟棄,使用mounted

  • activate(已丟棄,遷移到vue-router

  • beforeCompile(已丟棄,使用created

  • compiled(已丟棄,使用mounted

  • attached(已丟棄)

  • detached(已丟棄,同上)

Assets

  • directives

  • components

  • transitions

  • filters

  • partials(已丟棄)

  • elementDirectives(已丟棄)

雜項

  • parent

  • mixins

  • name

  • extends

  • delimiters(新API,替代原版的全局配置選項,只在獨立構建中可用)

  • functional(新API)

  • events(已丟棄)

實例方法

data

  • vm.$watch

  • vm.$get(已丟棄,直接檢索值)

  • vm.$set(已丟棄,使用Vue.set

  • vm.$delete(已丟棄,使用Vue.delete

  • vm.$eval(已丟棄,沒有真正的使用)

  • vm.$interpolate(已丟棄,同上)

  • vm.$log(已丟棄,使用devtools

events

  • vm.$on

  • vm.$once

  • vm.$off

  • vm.$emit

  • vm.$dispatch(已丟棄,使用全局的事件或使用vuex,見下面)

  • vm.$broadcast(已丟棄,同上)

DOM

  • vm.$nextTick

  • vm.$appendTo(已丟棄,在 vm.$el上使用本地API)

  • vm.$before(已丟棄)

  • vm.$after(已丟棄)

  • vm.$remove(已丟棄)

生命週期

  • vm.$mount

  • vm.$destroy

指令

  • v-text

  • v-html(注意{{{ }}} 被丟棄)

  • v-if

  • v-show

  • v-else

  • v-for

    • key (替代 track-by)

    • object v-for

    • range v-for

    • 參數順序更新:數組中使用(value, index) in arr,對象中使用(value, key, index) in obj

    • $index$key被丟棄

  • v-on

    • modifiers

    • on child component

    • 自定義鍵碼,目前版本Vue.config.keyCodes代替原來的Vue.directive('on').keyCodes

  • v-bind

    • 做爲prop

    • xlink

    • 綁定對象

  • v-bind:style

    • prefix sniffing

  • v-bind:class

  • v-model

    • lazy (as modifier)

    • number (as modifier)

    • ignoring composition events

    • debounce(已丟棄,使用v-on:input

  • v-cloak

  • v-pre

  • v-once(新API)

  • v-ref(已丟棄,如今只是一個特殊的屬性ref

  • v-el(和ref合併)

特殊組件

  • <component>

    • :is

    • async組件

    • inline-template

  • <transition>

  • <transition-group>

  • <keep-alive>

  • <slot>

  • partial(已丟棄)

特殊屬性

  • key

  • ref

  • slot

服務器端渲染

  • renderToString

  • renderToStream

  • client-side hydration

翻譯自2.0 Changes

相關文章
相關標籤/搜索