插值
通过{{}}进行包裹名称的方式来插入值,称之为插值表达式。
插值形式:
- 文本
- 原始HTML
- 使用JavaScript
文本
和之前的案例一样,不再啰嗦
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Title</title><link rel="stylesheet" href="../lib/bulma.css"></head><body><div id="app" class="container"><span>{{msg}}</span></div><script src="../lib/vue.js"></script><script>var data = {msg:'我的剑就是你的剑'};var vm = new Vue({el:'#app',data:data})</script></body></html>
html
如果要展示的内容是带标签的呢?
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Title</title><link rel="stylesheet" href="../lib/bulma.css"></head><body><div id="app" class="container"><span>{{msg}}</span></div><script src="../lib/vue.js"></script><script>var data = {msg:'<h1>我的剑就是你的剑</h1>'};var vm = new Vue({el:'#app',data:data})</script></body></html>

效果

显然无法将其渲染为一个真正的标签,vue提供了v-html指令可以达到解释为标题的效果
新的方式
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Title</title><link rel="stylesheet" href="../lib/bulma.css"></head><body><div id="app" class="container"><div v-html="msg"></div></div><script src="../lib/vue.js"></script><script>var data = {msg:'<h1>我的剑就是你的剑</h1>'};var vm = new Vue({el:'#app',data:data})</script></body></html>
效果

JavaScript的使用
在插值表达式中,可以根据数据类型进行相应的运算
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Title</title><link rel="stylesheet" href="../lib/bulma.css"></head><body><div id="app" class="container"><div >{{msg.toUpperCase()}}</div></div><script src="../lib/vue.js"></script><script>var data = {msg:'Love is good'};var vm = new Vue({el:'#app',data:data})</script></body></html>

效果

