老师,麻烦检查一下代码,然后提交这里我直接调用函数也可以,为什么课程要用一个箭头函数包起来
来源:2-8 使用 Composition API 开发TodoList(2)
Elisha666
2022-06-27 18:51:30
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> </style> <script src="https://unpkg.com/vue@next"></script> </head> <body> <div id="root"></div> <script> // 将关于 list 操作的内容进行封装 const listRelativeEffect = () => { const { reactive } = Vue; const list = reactive([]); // 添加列表项 const addItemToList = (item) => { list.push(item); }; // 删除列表项 const removeItem = index => { list.splice(index, 1); }; return { list, addItemToList, removeItem } }; // 将关于 input 操作的内容进行封装 const inputRelativeEffect = () => { const { ref } = Vue; const inputValue = ref(""); const handleInputValueChange = (e) => { inputValue.value = e.target.value; }; return { inputValue, handleInputValueChange } }; const app = Vue.createApp({ setup() { // 流程调度中转 const { list, addItemToList, removeItem } = listRelativeEffect(); console.log(typeof removeItem); const { inputValue, handleInputValueChange } = inputRelativeEffect(); return { list, addItemToList, inputValue, handleInputValueChange, removeItem }; }, template: ` <div> <div> <input :value="inputValue" @input="handleInputValueChange" /> <div>{{inputValue}}</div> <button @click="addItemToList(inputValue);inputValue=''">提交</button> </div> <ul> <li v-for="(item, index) in list" :key="index" @click="removeItem(index)">{{item}}</li> </ul> </div> ` }); const vm = app.mount("#root"); </script> </body> </html>
1回答
同学你好,直接调用函数是可以的,只是写法不同,效果实现是一样的,视频中使用箭头函数包裹起来,可以理解为是讲师的编码习惯,同学完全可以根据自己的编码习惯,选择其中一种方式。
祝学习愉快~
相似问题