Vue3的Composition API 之 Setup函数

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Composition API 之 Setup函数</title>
  <script src="https://unpkg.com/vue@next"></script>
</head>
<body>
  <div id="root"></div>
</body>
<script>
  // 对数据做校验的插件
  const app = Vue.createApp({
    template: `
      <div @click="handleClick">{{name}}</div>
    `,
    methods: {
      test() {
        console.log(this.$options.setup());
      }
    },
    mounted() {
      this.test();
    },
    // created 实例被完全初始化之前
    setup(props, context) {
      // props表示外部组件传递过来的内容 context表示上下文
      // 在setup里面不能使用this这样的关键词
      // 在setup方法里面没办法调用外部模版或者生命周期函数,而在外部的实例方法或者生命周期函数里面可以直接调用setup方法
      // setup执行的时候这个实例并没有被创建,并没有完成初始化,所以压根不存在this,所以这里面使用this是不行的,拿不到app的实例
      // 但是在app实例创建好之后,setup已经被挂载在这个实例上了,所以当你有这个实例的时候,里面也能获取到这个setup方法
      // 这是Composition API最核心的内容
      return {
        name: 'dell',
        handleClick: () => {
          alert(123)
        }
      }
    }
  });
  const vm = app.mount('#root');
</script>
</html>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值