vue2源码分析props、methods、data、computed、watch优先级

话不多说,先上一段源码,源码路径:src\core\instance\init.js文件下

export function initState (vm: Component) {
  vm._watchers = []
  const opts = vm.$options
  if (opts.props) initProps(vm, opts.props)
  if (opts.methods) initMethods(vm, opts.methods)
  if (opts.data) {
    initData(vm)
  } else {
    observe(vm._data = {}, true /* asRootData */)
  }
  if (opts.computed) initComputed(vm, opts.computed)
  if (opts.watch && opts.watch !== nativeWatch) {
    initWatch(vm, opts.watch)
  }
}

从源码中可以知道周期初始化优先级:
props > methods > data > computed > watch

你可能感兴趣的:(vue源码解析,vue2,vue.js)