Vue.js模板无法显示数据:文本绑定无输出问题求助
Vue数据绑定不显示值的问题排查与解决
嘿,我来帮你捋清楚为啥页面显示不出msg的值!
你遇到的核心问题是Vue版本的语法不兼容:
你模板里写的{{* msg }}是Vue 1.x版本特有的「一次性插值」语法,用来实现数据只渲染一次、后续不响应变化的效果,但这个语法在Vue 2.x里已经被完全移除了!而你引入的正好是Vue 2.5.13版本,所以这个语法根本不被识别,自然没法正确渲染出msg的内容。
顺带提一句,你的代码加载顺序是没问题的——Vue脚本先引入,再加载你的index.js,这个顺序是正确的,所以问题不在这儿。
两种修正方案任你选
如果你需要默认的响应式绑定
直接把模板里的*去掉,用Vue 2.x的标准插值语法就行:
<div id="app"> this will update when data changes:{{ msg }} </div>
这样页面会正常显示abc,而且你要是在控制台输入vm.msg = 'hello vue',页面内容会自动跟着更新。
如果你确实需要一次性绑定(数据变了页面也不更)
Vue 2.x里没有{{*}}这种写法了,但可以用v-once指令实现同样的效果:
<div id="app"> this will never change:<span v-once>{{ msg }}</span> </div>
这样msg只会在页面初始化时渲染一次,之后哪怕你修改vm.msg,这个区域的内容也不会变。
小提醒
以后看Vue文档的时候,一定要注意对应你正在使用的版本哦,Vue 1.x和2.x的语法差异不小,用错语法很容易踩坑~
内容的提问来源于stack exchange,提问作者fanhualuojin154873
相关产品推荐
相关产品推荐

