老师,帮忙看下为什么代码执行不了。

来源:2-8 使用 Composition API 开发TodoList(2)

阿惹

2022-04-09 01:07:55

<!DOCTYPE html><html lang="en">
<head>    <meta charset="UTF-8">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <title>lesson 16</title>    <script src="https://unpkg.com/vue@next"></script>
</head>
<body>    <div id="root"></div>
</body><script>    const listRelativeEffect = () => {        const {            reactive        } = Vue;        const list = reactive([]);        const handleClickSubmit = (item) => {            list.push(item)        }        return {            list,            handleClickSubmit        }    }
    const inputRelativeEffect = () => {        const {            ref        } = Vue;        const inputValue = ref('6666')        const handleInputValueChange = (e) => {            inputValue.value = e.target.value        }
        return {            inputValue,            handleInputValueChange
        }    }

    const app = Vue.createApp({        setup() {
            const {                list,                handleClickSubmit            } = listRelativeEffect();            const {                inputValue,                handleInputValueChange            } = inputRelativeEffect();

        },        template: `        <div>            <div>                <input  :value="inputValue" @input="handleInputValueChange"/>                <button @click="()=>handleClickSubmit(inputValue)">点击提交</button>            </div>            <ul>                <li v-for='(item,index) in list' key="index">{{item}}</li>            </ul>        </div>`,    });
    const vm = app.mount('#root');</script>
</html>

https://img.mukewang.com/climg/62506bc6094b900708600298.jpg

这里直接调用handleClickSubmit函数不可以吗,为什么外面还要嵌套一层箭头函数啊


写回答

1回答

好帮手慕星星

2022-04-09

同学你好,解答如下:

1、setup中缺少return数据供模板使用,如下:

https://img.mukewang.com/climg/6250f6c609cbf40206400451.jpg

2、是可以的,加不加箭头函数都能执行。

祝学习愉快!

0

前端工程师

前端入门如同写字,如果你不知道从哪开始,那就选择前端(含Vue3.x,React17,TS)

20327 学习 · 17877 问题

查看课程