如何通过Vue.js将mixins传递为道具并在子组件中使用它们

时间:2018-09-30 15:41:02

标签: vue.js vuejs2 mixins

我有一个父组件,其中包含两个名为addedit的子组件,这些组件具有一些共同的属性,我想使用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 个答案:

答案 0 :(得分:2)

解决这个问题的一种简单方法是重构代码并将mixin写入单独的文件中。然后,您可以在两个组件中导入mixin对象,并将其分配给mixins属性。