vue3 CompositionAPI
2021-05-16 08:30
                         标签:attr   lan   lis   put   写法   books   template   asc   卸载    逻辑复用,是对vue2.0Mixin的优化,以函数的形式封装公共逻辑,它通过显式的返回一个对象,让开发人员能在组件中直接了解到被引入的字段 实际项目中,可以将上面的逻辑单独封装成一个函数并在setup中调用,最终返回函数的返回值 setup函数是在解析其它组件选项之前,也就是beforeCreate之前执行 可以将setup内的部分逻辑抽离出来,单独作成js文件,多返回值用{}提取 vue3 CompositionAPI 标签:attr   lan   lis   put   写法   books   template   asc   卸载    原文地址:https://www.cnblogs.com/wukun-sole/p/14486621.htmlCompositionAPI
起源
函数
setup(props,context){
    // props 响应式,可用props.attrs获取到值,es6解构会消除其响应式值,vue3提供了一个toRefs全局方法来解决这个问题
    // 可在es6解构后依然具有相应性
    const {attrs} = toRefs(props);
    // attrs 非响应式对象 ,slots组件插槽(非响应式对象) emit触发事件(方法)
    const{attrs, solts, emit} = context;
    const name:ref("gggg"); // 转换为响应式变量
    const list = ref([]); //通过ref方法将普通变量转为响应式变量
    // 变量 取值/改值 list.value
    
    // 生命周期函数
    onMounted( () => {
    });
    onUpdate(() => {
    });
    onBeforeUnmount(() => {
    })
    
    // vue写法
    // computed: {
    // booksMessage() {
    //     return this.books.length > 0?‘YES‘:‘NO‘;
    // }
    // }
    const bookMessage = computed(() => book.value.length > 0 ? ‘YES‘:‘NO‘);
    
    // watch: {
    //     question(newQuestion, oldQuestion) {
    //     }
    // }
    watch(question,(newValue, oldValue) => {
    })
    return {    // 返回的字段都可以在组件的其余部分使用,变成组件内的变量和方法
    // 还可以返回渲染函数, 组件中定义的template将会失效
    }
}
vue生命周期created(创建) -> mounted(加载) -> updated(更新) -> unmounted(卸载)
在setup内部,this不是当前组件实例的引用beforeCreate() {}
created() {}
setup() {}
mounted(){}
上一篇:理解C#泛型运作原理
文章标题:vue3 CompositionAPI
文章链接:http://soscw.com/index.php/essay/86183.html