Как передать mixins в качестве реквизита и использовать их в дочерних компонентах, используя Vue.js
У меня есть родительский компонент, который содержит два дочерних компонента под названием add
а также edit
эти компоненты имеют некоторые общие свойства, и я хочу использовать mixins
для этого я добавляю объект с именем mix
к объекту данных родителя, и я передаю его как props
дочерние компоненты, как следует
родительский компонент:
<template>
<div id="app">
<add :mixin="mix" operation="add"></add>
...
<edit :mixin="mix" operation="edit"></edit>
</div>
</template>
<script>
export default {
name: "App",
data(){
return{
/****/
mix:{
data() {
return {
user: { name: "", email: "" },
users: []
};
},
methods: {
add() {
this.users.push(this.user);
},
}
}
}
/*****/
};
},
components: {
add,edit
}
};
</script>
Я мог бы получить этот объект (mix
) в моем дочернем компоненте, но как я могу назначить его на mixins
имущество?
1 ответ
Решение
Низко висящим плодом для решения этой проблемы будет просто рефакторинг вашего кода и запись миксина в отдельный файл. Затем вы можете импортировать объект mixin в оба ваших компонента и назначить его свойству mixins.