当前位置: 首页 > Web前端 > vue.js

我是怎么学vue的06:插值(mustache语法及其他插值说明)

时间:2023-03-31 21:47:34 vue.js

插值就是往dom中插入数据(值),数据定义在vue实例的data属性中。1.使用Mustache语法(即双大括号{{}})DOM:

{{message}}

{{message}},李银河!

{{firstName+''+lastName}}

{{firstName}}{{lastName}}

{{counter*2}}

Vue实例数据:constapp=newVue({el:'#app',data:{message:'Hello',firstName:'kobe',lastName:'bryant',counter:100},})2.其他插值说明(1)v-once只显示第一次解析的数据,当数据发生变化时,页面不会随之变化。{{message}}(2)v-html如果数据是一串HTML标签,使用v-html命令将字符串解析成标签显示在页面上。data:{url:"百度"}

{{url}}

(3)v-text将文本放在DOM上,直接显示。

{{message}}

这两种写法效果一样。不同的是:v-text命令不够灵活,比如下面的演示:张伟我们定义的message是"Hello",如果这样写,“你好”会覆盖“张伟”,只显示“你好”。(4)v-pre不解析,直接展示Mustache的原始语法。{{message}}(5)v-cloak在html标签中添加v-cloak属性后,vue解析标签时,如果没有数据:保留v-cloak标签;如果有数据:移除v-cloak。实现效果:配合css,有数据时显示标签,无数据时隐藏标签。场景:程序实际执行过程中,可能会出现代码卡顿或延迟,导致Vue读取数据失败。当无法读取数据时,会直接显示{{message}}。当数据被解析时,它会再次将{{message}}修改为数据。这会导致页面显示混乱。我们希望有数据时显示标签,没有数据时隐藏标签。用法如下:{{message}}在数据部分,我们使用定时器来模拟程序的卡顿或延迟。setTimeout(function(){constapp=newVue({el:'#app',data:{message:'Hello'}})},1000)这样就达到了我们想要的效果:没有Data,v-cloak属性保留,显示{{message}},后面有数据,显示hello,删除v-cloak属性。最后指定css效果:当有v-cloak属性时,隐藏这个标签,至此我们想要的效果就做好了。