我有兩個Vue的組件,一個延伸的其他:VueJS延伸部件:去除父屬性
// CompA.vue
export default {
props: {
value1: Object,
},
data: function() {
return {
value2: 'hello2 from A',
value3: 'hello3 from A'
}
}
}
// CompB.vue
import CompA from './CompA.vue';
export default {
extends: CompA,
props: {
value4: Object
},
data: function(){
return {
value2: 'hello2 from B'
}
}
}
如上所述in the docs,CompB的的選項被合併成COMPA的,導致:
{
props: {
value1: Object,
value4: Object
},
data: function() {
return {
value2: 'hello2 from B',
value3: 'hello3 from A'
}
}
}
但是我想要的結果是刪除屬性value1
:
{
props: {
value4: Object
},
data: function() {
return {
value2: 'hello2 from B',
value3: 'hello3 from A'
}
}
}
我認爲應該可以使用Custom Option Merge Strategies
但即使我返回null
或undefined
,屬性不會被刪除。
Vue.config.optionMergeStrategies.data = function(parentVal, childVal) {
return null;
};
這樣的事情有可能嗎?如果是,如何?
你只是想刪除的對象正在擴展所有屬性? – Bert
不,只有具體的 – balping