代码运行报错,也不知道哪里出问题了

代码运行报错,也不知道哪里出问题了

老师你好,这里我代码我和视频里面都一样了,就是运行起来出错,麻烦帮我看看哪里出问题了?
运行报错描述:Uncaught SyntaxError: Unexpected end of input
图片描述
代码

<!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>lesson 38</title>
    <script src="http://unpkg.com/vue@next"></script>
</head>

<body>
    <div id="root"></div>
</body>
<script>
    // 关于list操作的内容进行了封装
    const listRelativeEffect = () => {
        const { reactive } = Vue;
        const list = reactive([]);
        const addItemToList = (item) => {
            list.push(item);
        return { list, addItemToList, }
    }

    const app = Vue.createApp({
        setup() {
            const { ref } = Vue;
            const inputValue = ref('123');
            const handleInputValueChange = (e) => {
                inputValue.value = e.target.value
            }
            return {
                list,
                inputValue,
                handleInputValueChange,
                handleSubmit
            }
        },
        template: `
            <div>
                <div>
                    <input :value="inputValue" @input="handleInputValueChange" />
                    <button @click="handleSubmit">提交</button>
                </div>
                <ul>
                    <li v-for="(item, index) in list" :key="index">{{item}}</li>
                </ul>
            </div>
        `,
    });

    const vm = app.mount('#root');
</script>

</html>

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,如下方法缺少闭合的 } ,因此代码报错了:

https://img1.sycdn.imooc.com//climg/6386b58209d259a706060256.jpg

修改如下:

https://img1.sycdn.imooc.com//climg/6386b590096744eb06050325.jpg

修改后,代码依旧报错:

https://img1.sycdn.imooc.com//climg/6386b5b50936b18206960104.jpg

建议同学对照源码,仔细检查如下代码:

https://img1.sycdn.imooc.com//climg/6386b5e0099b989808240467.jpg

祝学习愉快!

  • 慕越秀工地 提问者 #1

    视频代码

    https://img1.sycdn.imooc.com//climg/6386e68e09b8c6d410720949.jpg

    我的代码

    https://img1.sycdn.imooc.com//climg/6386e68e0902631e07100873.jpg

    按照老师的提示,我已经补上那个括号的闭环了,vscode里面也已经没有红色波浪线语法报错了,但运行起来也是说list未定义

    https://img1.sycdn.imooc.com//climg/6386e710096dae0e05810315.jpg

    按照老师的说法,list和handleSubmit在setup中未定义不能直接使用,那为啥我的代码已经和视频一样了,怎么视频里面老师的运行起来没问题,我的却list未定义呢?我这里学的是使用CompositionAPI开发ToDoList的上集,还没看到下集,我也对照了下源码,没看太懂老师说的哪里定义list和handleSubmit

    https://img1.sycdn.imooc.com//climg/6386e7fa09d511e106180875.jpg


    2022-11-30 13:19:57
  • 好帮手慕久久 回复 提问者 慕越秀工地 #2

    解答如下:

    1、上集中,9分钟左右的时候,老师改了代码的书写方式,然后没有运行代码,所以没有复现list报错这个问题。出现list报错才是正常的,需要继续看下集。

    2、下集中,调整了代码,即补全了list相关内容:

    https://img1.sycdn.imooc.com//climg/6386ef120916c7ec07470660.jpg

    https://img1.sycdn.imooc.com//climg/6386ef4a092ae17707581052.jpg

    同学的代码没有上述内容,可以再仔细对比一下。然后把下集看了,不然代码跑不起来。

    源码在如下位置下载:

    https://img1.sycdn.imooc.com//climg/6386ef980999f60016270760.jpg


    2022-11-30 13:52:25
  • 慕越秀工地 提问者 回复 好帮手慕久久 #3

    慕欧老师好,我刚把下集看了,也跟着视频敲了出来,我大致了解是怎么回事了。

    讲到下集我才明白这节课讲的核心重点,把list和inputValue分开进行了封装,而setup函数只是用来中转调度,仅仅只用来解构调用,所以不用所有定义都全部堆在setup函数里面搞到一坨一坨了,这样代码看起来就清晰而且维护性高。


    老师我有一些问题想咨询,我现在vue基础视频课是二刷到这里了,视频里的代码我看是能看得懂的,但我还是不看视频是无法敲出来的,我是需要继续刷vue基础课上中下,还是直接去跟敲后面的仿京东呢?老师能够给点学习建议呢,我是希望尽快上岗的,去面试那种最初级的前端开发岗位,薪资无要求,无薪实习我都愿意。我研究生学历

    2022-11-30 14:30:40
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师