Vue.js数据绑定问题:{{myGame}}无法渲染与更新
Vue数据绑定异常问题排查与修复
嘿,我帮你排查出了代码里的几个关键问题,正是这些导致了数据绑定失效、页面直接显示{{myGame}}符号的情况:
问题点分析
- Vue构造函数大小写错误:Vue的官方构造函数是大写开头的
Vue,你写的是小写的vue,这会导致浏览器无法识别并初始化Vue实例,直接引发引用错误。 - 挂载元素选择器错误:
el选项需要传入有效的CSS选择器,你的HTML中挂载目标是id="myApp"的元素,因此应该写el: '#myApp',而不是el: 'myApp'(后者会尝试匹配<myApp>标签,显然不存在)。 - 脚本位置的优化建议:虽然不是核心错误,但你的Vue脚本放在了挂载的
<div>内部,建议移到</body>标签之前,确保DOM元素先加载完成再初始化Vue实例,避免潜在的DOM未就绪问题。
修复后的完整代码
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width"> <title>JS Bin</title> </head> <body> <div id="myApp" > <p> 您最喜歡的遊戲是:{{myGame}}</p> <button v-on:click="btnClick('我的世界')">我的世界</button> <button v-on:click="btnClick('我的世界33')">我的世界33</button> <button v-on:click="btnClick('我的世界44')">我的世界44</button> <button @click="btnClick('我的世11界')">我的世11界</button> </div> <script src="https://unpkg.com/vue@2.5.16/dist/vue.js"></script> <script> let myApp = new Vue({ el:'#myApp', data:{ myGame:'超級馬力歐' }, methods:{ btnClick: function(pname){ this.myGame = pname; }, }, }); </script> </body> </html>
验证效果
修复后,页面会初始显示“您最喜歡的遊戲是:超級馬力歐”,点击任意按钮都能切换myGame的内容,完美实现你预期的交互效果。
内容的提问来源于stack exchange,提问作者jessica
相关产品推荐
相关产品推荐

