• 可以利用Hook函数把相关的代码剥离出去(跟vue2 mixins差不多)
    • mixin模式表面上看起来很安全。然而,通过合并对象来共享代码,由于它给代码增加了脆弱性,并且掩盖了推理功能的能力,因此成为一种反模式。
    • Composition API最聪明的部分是,它允许Vue依靠原生JavaScript中内置的保障措施来共享代码,比如将变量传递给函数和模块系统。

      1. //导入ref,computed,用了就要导入,不用不需要导入
      2. import { ref, computed } from "vue";
      3. //导出一个函数
      4. export default function () {
      5. //汽车名称
      6. let carName = ref("奔驰");
      7. //汽车价格
      8. let carPrice = ref(5000);
      9. //修改汽车名称的方法
      10. let updateCarName = (name) => {
      11. carName.value = name;
      12. };
      13. //修改汽车价格的方法
      14. let updateCarPrice = (price) => {
      15. carPrice.value = price;
      16. };
      17. //汽车在美国的价格
      18. let usaCarPrice = computed(() => {
      19. return "$" + (carPrice.value / (Math.random() + 6)).toFixed(2);
      20. });
      21. return {
      22. carName,
      23. carPrice,
      24. updateCarName,
      25. updateCarPrice,
      26. usaCarPrice,
      27. };
      28. }
    • 在需要的组件中使用 ```json import {computed, ref} from ‘vue’ //导入hook函数useCar import useCar from ‘../hooks/useCar’

    export default { name: “pageName”, setup() { return { …useCar(), //展开运算符 } } // setup() { // let obj=useCar() // console.log(obj); // return{ // …obj // } // } }; ```