vue3 RFC初尝试

由于vue3.x还没有正式发布,所以可以通过安装包vue-function-api提前尝试

npm install vue-function-api  --save

main.js

import Vue from 'vue'
import { plugin } from 'vue-function-api'

Vue.use(plugin)

test.vue

<template>
  <div>
    <span>{{msg}}</span><br>
    <span>计算属性值:{{computedValue}}</span><br>

    <el-button @click="appendName">点击</el-button>
  </div>
</template>
<script>
import { value, computed, watch, onMounted, onUpdated, onUnmounted } from 'vue-function-api'
export default {
  props: {
    name: {
      type: String
    }
  },
  setup (props, context) {
    /* eslint-disable no-alert, no-console */
    const msg = value(2)
    const msg2 = value(3)
    console.log(context)
    const appendName = () => {
      msg.value += 1
      msg2.value -= 2
    }

    const computedValue = computed(() => msg.value * 2)

    watch([msg2, () => msg.value * 3], ([a, b]) => {
      console.log(`a is: ${a}`)
      console.log(`b is: ${b}`)
    })

    onMounted(() => {
      console.log('mounted!')
    })
    onUpdated(() => {
      console.log('updated!')
    })
    onUnmounted(() => {
      console.log('unmounted!')
    })
    /* eslint-disable no-alert, no-console */
    return {
      msg,
      appendName,
      computedValue
    }
  }
}
</script>

参考链接:
https://github.com/vuejs/vue-function-api/blob/master/README.zh-CN.md
https://zhuanlan.zhihu.com/p/68477600

转载于:https://www.cnblogs.com/raind/p/11120293.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值