- 可以利用Hook函数把相关的代码剥离出去(跟vue2 mixins差不多)
- mixin模式表面上看起来很安全。然而,通过合并对象来共享代码,由于它给代码增加了脆弱性,并且掩盖了推理功能的能力,因此成为一种反模式。
Composition API最聪明的部分是,它允许Vue依靠原生JavaScript中内置的保障措施来共享代码,比如将变量传递给函数和模块系统。
//导入ref,computed,用了就要导入,不用不需要导入import { ref, computed } from "vue";//导出一个函数export default function () {//汽车名称let carName = ref("奔驰");//汽车价格let carPrice = ref(5000);//修改汽车名称的方法let updateCarName = (name) => {carName.value = name;};//修改汽车价格的方法let updateCarPrice = (price) => {carPrice.value = price;};//汽车在美国的价格let usaCarPrice = computed(() => {return "$" + (carPrice.value / (Math.random() + 6)).toFixed(2);});return {carName,carPrice,updateCarName,updateCarPrice,usaCarPrice,};}
在需要的组件中使用 ```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 // } // } }; ```
