用於定義自定義組件選項的合並策略的對象。
類型
interface AppConfig {
optionMergeStrategies: Record<string, OptionMergeFunction>
}
type OptionMergeFunction = (to: unknown, from: unknown) => any
細節
一些插件/庫添加了對自定義組件選項的支持(通過注入全局混合)。當同一個選項需要來自多個來源(例如 mixins 或組件繼承)的 "merged" 時,這些選項可能需要特殊的合並邏輯。
合並策略函數可以通過使用選項名稱作為鍵在app.config.optionMergeStrategies
對象上分配自定義選項來注冊。
合並策略函數接收在父實例和子實例上定義的選項的值,分別作為第一個和第二個參數。
示例
const app = createApp({
// option from self
msg: 'Vue',
// option from a mixin
mixins: [
{
msg: 'Hello '
}
],
mounted() {
// merged options exposed on this.$options
console.log(this.$options.msg)
}
})
// define a custom merge strategy for `msg`
app.config.optionMergeStrategies.msg = (parent, child) => {
return (parent || '') + (child || '')
}
app.mount('#app')
// logs 'Hello Vue'
相關用法
- Vue.js app.config.warnHandler用法及代碼示例
- Vue.js app.config.errorHandler用法及代碼示例
- Vue.js app.compilerOptions.isCustomElement用法及代碼示例
- Vue.js app.component()用法及代碼示例
- Vue.js app.compilerOptions.whitespace用法及代碼示例
- Vue.js app.compilerOptions.delimiters用法及代碼示例
- Vue.js app.compilerOptions.comments用法及代碼示例
- Vue.js app.directive()用法及代碼示例
- Vue.js app.use()用法及代碼示例
- Vue.js app.mount()用法及代碼示例
- Vue.js app.version用法及代碼示例
- Vue.js app.provide()用法及代碼示例
- Vue.js useSSRContext()用法及代碼示例
- Vue.js mergeProps()用法及代碼示例
- Vue.js pipeToWebWritable()用法及代碼示例
- Vue.js v-pre用法及代碼示例
- Vue.js h()用法及代碼示例
- Vue.js serverPrefetch用法及代碼示例
- Vue.js customRef()用法及代碼示例
- Vue.js <Transition>用法及代碼示例
- Vue.js inject()用法及代碼示例
- Vue.js mixins用法及代碼示例
- Vue.js ComponentCustomProps用法及代碼示例
- Vue.js reactive()用法及代碼示例
- Vue.js ComponentCustomProperties用法及代碼示例
注:本文由純淨天空篩選整理自vuejs.org大神的英文原創作品 app.config.optionMergeStrategies。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。