Fork me on GitHub

vue..js3.0

1. 初始化项目
   npm i -g @vue/cli
   
   npm install @vue/composition-api -S

   npm install @vue/composition-api -S

2.main.js
import Vue from 'vue'
import VueCompositionApi from '@vue/composition-api'
Vue.use(VueCompsitionApi)
vue3.x的新方法

  1.setup(props参数,ctx上下文对象) 方法
setup()在beforeCreate 之后 create之前执行 ,注意在setup()中无法访问到this setup(props, ctx) { console.log(
'setup') }, beforeCreate() { console.log('beforeCreate') }, created() { console.log('created') },

2.reactive 函数接收一个普通函数,返回一个响应式的数据对象
<template>
  <div>
    <p>当前的 count 值为:{{count}}</p>
    <button @click="count += 1">+1</button>
  </div>
</template>

<script>
import {reactive} from '@vue/composition-api'
export default {
  setup(props, ctx) {
    // 创建响应式数据对象,得到的 state 类似于 vue 2.x 中 data() 返回的响应式对象
    const state = reactive({ count: 0 })
    state.count += 1
    console.log(state)
     // setup 函数中将响应式数据对象 return 出去,供 template 使用
    return state
  }
}
</script>

3.ref() 函数用来根据给定的值创建一个响应式的数据对象,ref() 函数调用的返回值是一个对象,这个对象上只包含一个 .value 属性

<template>
  <div>
    <h3>02.ref.vue 文件</h3>
    <p>refCount:{{refCount}}</p>
    <button @click="refCount += 1">+1</button>
  </div>
</template>

<script>
import { ref } from '@vue/composition-api'
export default {
  setup() {
    // / 创建响应式数据对象 count,初始值为 0
    const refCount = ref(0)
    // 如果要访问 ref() 创建出来的响应式数据对象的值,必须通过 .value 属性才可以,只有在setup内部才需要 .value 属性
    console.log(refCount.value) // 输出 0
    // 让 refCount 的值 +1
        refCount.value++
    // 再次打印 refCount 的值
        console.log(refCount.value) // 输出 1
    return {
      refCount
    }
  }
}
</script>

 

posted @ 2020-09-27 14:50  欢欢11  阅读(298)  评论(0编辑  收藏  举报