<div id="app"> <div class="addbar"> <input type="text" v-model="inputVal"><button @click="addVal">添加</button> </div> <div>共有:{{data.length}}條數據</div> <ul> <li v-for="(item,index) in data" :key="item"><button @click="deleteVal(index)" style="margin-right:20px;">刪除</button>{{item}}</li> </ul> </div> <script src="../dist/vue.global.js"></script> <script> // 創建實例方式變化了 const { createApp, reactive, computed, ref, toRefs } = Vue const app = createApp({ setup() { // reactivity api // message相關 const data = reactive({ data: ['hello,vue3','this is a todolist demo'], }) // count相關 // const counter = reactive({ // count: 0, // doubleCount: computed(() => counter.count * 2) // }) function addVal() { data.data.push(inputVal.value) inputVal.value = '' } function deleteVal(index){ data.data.splice(index,1) console.log(data.data) } // 單值響應式, ref()返回Ref對象,如果要修改它的值,訪問value屬性 const inputVal = ref('') return { ...toRefs(data), inputVal,addVal,deleteVal } } }).mount('#app') </script>