VUE尽可能使用 mixins

2018-11-06  本文已影响28人  不困于情

最近写了几个项目之后,忽然逼兴大发,有些洪荒之力按捺不住。
觉得这个规范很好。引用来自网络某处,记不得了。

为什么?

Mixins 封装可重用的代码,避免了重复。如果两个组件共享有相同的功能,则可以使用 mixin。通过 mixin,你可以专注于单个组件的任务和抽象的通用代码。这有助于更好地维护你的应用程序。

怎么做?

假设你有一个移动端和桌面端的菜单组件,它们共享一些功能。我们可以抽象出这两个组件的核心功能到一个 mixin 中,例如:

const MenuMixin = {
  data () {
    return {
      language: 'EN'
    }
  },

  methods: {
    changeLanguage () {
      if (this.language === 'DE') this.$set(this, 'language', 'EN')
      if (this.language === 'EN') this.$set(this, 'language', 'DE')
    }
  }
}

export default MenuMixin


要使用 mixin,只需将其导入到两个组件中(我只展示移动组件)。

<template>
  <ul class="mobile">
    <li @click="changeLanguage">Change language</li>
  </ul>
</template>

<script>
  import MenuMixin from './MenuMixin'

  export default {
    mixins: [MenuMixin]
  }
</script>


这样,如果机和电脑端都要开发,不管是你一个人来开发,或者是团队一起来开发,都可以这样,大大地减少了工作量。

上一篇 下一篇

猜你喜欢

热点阅读