什么是 vue3 的 CompositionAPI?
Vue 3中的Composition API是一组新的API,它允许开发者使用函数式编程的方式来组织和复用组件逻辑。与Vue 2中的Options API(如data、methods、computed等选项)相比,Composition API提供了一种更加灵活和可组合的方式来编写组件逻辑。
下面是Composition API的一些主要方法和使用示例:
setup:这个函数在组件实例初始化之前被调用,可以在这里声明数据、计算属性、方法、生命周期钩子等。
javascript
export default {
setup() {
let name = "张三";
function greet() {
console.log(`Hello, ${name}!`);
}
return { name, greet }; // 必须在这里return,模板中才能使用
}
}
在模板中,你可以使用{{ name }}来显示name的值,以及<button @click="greet">Greet</button>来触发greet方法。
2. ref和toRefs:ref用于定义一个基本类型的响应式数据,而toRefs则可以将响应式数据包装成一个普通的对象,使得在模板中可以直接使用对象的属性。
javascript
import { ref, toRefs } from 'vue';
export default {
setup() {
const count = ref(0);
const state = toRefs({
name: '张三',
age: 30
});
return { count, ...state };
}
}
computed:用于定义计算属性,只有当依赖的数据发生变化时才会重新计算。
javascript
import { ref, computed } from 'vue';
export default {
setup() {
const base = ref(1);
const doubled = computed(() => base.value * 2);
return { base, doubled };
}
}
watch和watchEffect:用于监听数据变化。watch可以监听特定的响应式数据,而watchEffect则会自动收集依赖并执行回调函数。
javascript
import { ref, watch, watchEffect } from 'vue';
export default {
setup() {
const count = ref(0);
watch(count, (newVal, oldVal) => {
console.log(`Count changed from ${oldVal} to ${newVal}`);
});
watchEffect(() => {
console.log(`Count is ${count.value}`);
});
return { count };
}
}
生命周期钩子:虽然Composition API本身没有直接提供生命周期钩子的方法,但你可以通过onMounted、onUpdated等函数在setup中使用它们。
javascript
import { onMounted, onUpdated } from 'vue';
export default {
setup() {
onMounted(() => {
console.log('Component mounted');
});
onUpdated(() => {
console.log('Component updated');
});
}
}
在使用Composition API时,需要注意的是,由于setup函数在组件创建之前执行,因此其中的this关键字不会指向当前组件实例,而是undefined。如果需要与父组件通信,可以通过setup函数的参数来获取props和context。
Composition API提供了一种更为灵活和可复用的方式来组织Vue组件的逻辑,尤其适用于大型和复杂的Vue应用。
推荐阅读
-
什么是 vue3 的 CompositionAPI?
-
什么是退浆?退浆的过程是怎样的?
-
什么是快速中的快速分发平台?有哪些优势?
-
翻译:什么是 ChatGPT 理解变压器架构的图形方法 深度学习 I
-
快小店家纺快速分销是真的吗?如何进入家纺类快速分销?开家纺快销的标准是什么?
-
什么是花生日记平台?花生日记是做什么的?1分钟带你全面了解!
-
高佣金联盟是做什么的?高佣金联盟由哪家公司运营?
-
什么是计算机技术与软件(初级、中级和高级)考试(软考)?软考的时间安排是什么?
-
什么是 "BM "女孩?BM" girl 的标准是什么?
-
身体焦虑?大码女装用实力SayNo--"书",了解更多新书拥有者数量内容 作者:小胖鸭小肥鸭 来源:趣谈神奇数字 近日,杨天真现身奇葩说,一边分享职场生存法则,一边大闹自己的大码女装品牌Plusmall。 杨天真是谁?她是壹心娱乐CEO,范冰冰、张艺兴、张雨绮等明星的前经纪人,被称为 "娱乐圈教母"。但她在2020年6月突然宣布卸下所有经纪业务,成立Plusmall,转战直播行业专心带货,第一代网红雪梨就在她的签约名单中。 在 "A4腰"、"BM风"、"筷子腿 "等流行的当下,"以瘦为美 "依然是主流审美。一向眼光犀利的杨天真,为何会选择一条看似与众不同的道路呢?其实,除了杨天真,越来越多的时尚品牌都开设了大码专线,比如耐克、H&M。 关于大码女装,你了解多少?市场潜力如何?为什么会有越来越多的参与者入局?主要形式是什么? A 超重人群居高不下,大码市场潜力数百亿美元 著名医学杂志《柳叶刀》显示,全球有 1/3 的人口超重(指 BMI 指数为 25 的人口),其中我国 4% 的超重人口(约 2.5 亿)已超过美国居世界首位。 图:超重人口比例 来源:《柳叶刀》杂志柳叶刀 国务院新闻办公室发布的《中国居民营养与慢性病状况报告(2020)》显示,我国城乡各年龄段居民超重率和肥胖率持续上升,18岁及以上居民超重率和肥胖率分别为34.3%和16.4%。