• Vue2.js迁移到Vue3.js的API变化


    Vue2.js迁移到Vue3.js的API变化,-表示移除

    Vue2.jsVue3.js
    new Vue()createApp()
    Vue.extenddefineComponent or extends
    Vue.prototypeapp.config.globalProperties
    Vue.set-
    Vue.delete-
    Vue.observablereactive
    config.keyCodes-
    vm.$set-
    vm.$delete-
    vm.$on-
    vm.$off-
    vm.$once-
    vm.$children-
    vm.$listeners-
    hook:x-
    vm.$scopedSlots-
    vm.$slotsnow exposes functions
    $attrsnow includes class and style
    datamust be a function in all cases
    datafrom mixin or extension is now shallow merged
    beforeDestroybeforeUnmount
    destroyedunmounted
    v-onno longer supports keyCode modifiers
    -watching an array no longer triggers on mutation unless deep
    -Custom directive hook names changed
    -No longer removes attribute if binding value is boolean false
    -No longer special case enumerated attributes
    no longer renders a root element by default
    -Async component API changed (now requires defineAsyncComponent)
    -Functional component API changed (now must be plain functions)
    -Component v-model reworked
    -Render function API changed
    -Filters removed (this option affects only runtime filter APIs)
    -is usage is now restricted to only
    v-bind.syncreplaced by v-model with arguments
    v-bind.propmodifier removed
    v-bind=“object”is now order sensitive
    v-on.nativemodifier removed
    -ref in v-for (compiler support)