插值
通过{{}}
进行包裹名称的方式来插入值,称之为插值表达式。
插值形式:
- 文本
- 原始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>
效果