Как передать 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.

Другие вопросы по тегам