自定义选项合并策略

自定义选项将使用默认策略,即简单地覆盖已有值。如果想让自定义选项以自定义逻辑合并,可以向 Vue.config.optionMergeStrategies 添加一个函数:

  1. Vue.config.optionMergeStrategies.myOption = function (toVal, fromVal) {
  2. // 返回合并后的值
  3. }

对于多数值为对象的选项,可以使用与 methods 相同的合并策略:

  1. var strategies = Vue.config.optionMergeStrategies
  2. strategies.myOption = strategies.methods

可以在 Vuex 1.x 的混入策略里找到一个更高级的例子:

  1. const merge = Vue.config.optionMergeStrategies.computed
  2. Vue.config.optionMergeStrategies.vuex = function (toVal, fromVal) {
  3. if (!toVal) return fromVal
  4. if (!fromVal) return toVal
  5. return {
  6. getters: merge(toVal.getters, fromVal.getters),
  7. state: merge(toVal.state, fromVal.state),
  8. actions: merge(toVal.actions, fromVal.actions)
  9. }
  10. }