• vue3-setup 的参数


    <template>
      <div id="app">
        <p>姓名:{{name}}</p>
        <p>
          <button @click="changeAge(-1)">-</button>
          年龄:{{age}}
          <button @click="changeAge(1)">+</button>
        </p>
        <p>
          出生年份:
          <button @click="changeYear(-1)">-</button>
          {{year}}
          <button @click="changeYear(1)">+</button>
        </p>
      </div>
    </template>
    
    <script>
    import { ref, computed, reactive,toRefs,watch } from "vue";
    export default {
      name: "app",
      data() {
        return {
          name: "xiaosan",
        };
      },
      setup(props,context) {
        // props 获取组建中定义的props
        // context
    
        props:{
          title:String
        }
        const data = reactive({ // 建立一个响应式对象
          name: "小四",
          age: 18,
          year: computed({
            get: () => {
              return 2020 - data.age;
            },
            set: (val) => {
              data.age = 2020 - val;
            },
          }),
        });
        function changeAge(val) {
          data.age += val; //想改变值或获取值 必须.value
          console.log(props.title)
        }
        watch(()=>props.title,(newTitle,oldTitle)=>{
          console.log(newTitle,oldTitle)
          context.emit('title-changed')
        }),
        function changeYear(val) {
          data.year = data.year + val;
        }
        return {
          //必须返回 模板中才能使用
          ...toRefs(data),//讲响应式的对象变为普通对象 在家。。。结构,在模板中就可以直接使用属性,不用data.name
          changeAge,
          changeYear,
        };
      },
    };
    </script>
  • 相关阅读:
    open stack总结
    Nginx操作命令
    Nginx 配置详解
    Linux 常用命令-- top
    CEPH 使用SSD日志盘+SATA数据盘, 随OSD数目递增对性能影响的递增测试
    MyCat水平分库
    MyCat垂直分库
    MyCat基本知识
    utf8mb4复杂昵称问题
    Power安装linux-BIG ENDIAN mysql编译安装
  • 原文地址:https://www.cnblogs.com/lxz-blogs/p/13595148.html
Copyright © 2020-2023  润新知