2021 年到了, Vue 3 准备好了吗?
分享新写的文章,欢迎各位一起交流。:)
Vue 3 生产可用了吗?好用吗?和 Vue 2 相比变化大吗?我试着用 Vue 3 编写了一个项目,发现它挺香的。
- 知乎: https://zhuanlan.zhihu.com/p/355315790
- 博客: https://nanmu.me/zh-cn/posts/2021/is-vue-3-ready/
分享新写的文章,欢迎各位一起交流。:)
Vue 3 生产可用了吗?好用吗?和 Vue 2 相比变化大吗?我试着用 Vue 3 编写了一个项目,发现它挺香的。
你是认真的?
watch(count, () => {
console.log(‘count:’, count.value);
});
return {
count
};
};
// helloWorld.vue
<template>
<button @click=”count++”>count is: {{ count }}</button>
<button @click=”count2++”>count is: {{ count2 }}</button>
</template>
<script lang=”ts”>
import { ref, defineComponent } from ‘vue’;
import { useCount } from “../compositions/count”;
export default defineComponent({
name: ‘HelloWorld’,
props: {
msg: {
type: String,
required: true
}
},
setup: () => {
const { count } = useCount();
const { count: count2 } = useCount();
return { count, count2 };
}
});
</script>
你再试试?
相当于你在函数外面声明了一个变量
不过,Composition API 也带来了新的易错点,如果你在 composable 中`watch()`store 中的状态,并且在同一个 view 中的多个组件中都用了该 composable,那么`watch()`及其回调会被调用多次,这往往不是你想要的效果。解决方案是为 composable 提供初始化参数。
没看到什么作品,可能是节点错了。
@Livid