• 定义内部数据
    • 修改这个数据代码必须在setup内部运行设置方法在外面调用修改不行 [类似:私有]

    reactive调用就会返回一个响应式数据对象

    • setup内部使用的数据
    1. <template>
    2. <div>
    3. <p>{{name}}</p>
    4. </div>
    5. </template>
    6. <script lang="ts">
    7. import { defineComponent,reactive } from 'vue'
    8. export default defineComponent({
    9. setup() {
    10. const state=reactive({
    11. name:'syukinmei'
    12. }) // reactive 调用会返回一个响应式数据对象
    13. state.name = 'ebiebi' // 这个数据是可以修改的
    14. return state
    15. },
    16. })
    17. </script>

    只能在setup内部使用

    1. <template>
    2. <div>
    3. <button @click="setName">setName</button>
    4. <p>{{name}}</p>
    5. </div>
    6. </template>
    7. <script lang="ts">
    8. import { defineComponent,reactive } from 'vue'
    9. export default defineComponent({
    10. setup() {
    11. const state=reactive({
    12. name:'syukinmei'
    13. }) // reactive 调用会返回一个响应式数据对象
    14. function setName(){
    15. state.name='ebiebi' // 这个数据是可以修改的
    16. console.log(state.name) // 输出ebiebi 但是渲染还是syukinmei
    17. }
    18. return {
    19. setName,
    20. ...state // state是个对象 需要结构
    21. }
    22. },
    23. })
    24. </script>