(1) v-text

作用:操作元素中的纯文本。快捷方式 : {{}}
例1:简写形式->将v-text=""换成{{}}

<div id="app">
	{{ message }}
</div>

<script>
    var app = new Vue({
    	el : '#app',
    	data : { 
    		message : 'hello world'
    	}
    }) 
</script>

//输出:hello world
例2:不使用快捷方式,用v-text=""

<h1 id="app1" v-text="'今天是'+year+'年'+month+'月'"></h1> 
<!--等同于:<h1 id="app1">今天是{{year}}年{{month}}月</h1>-->

<script>
	var app1 = new Vue({ 
		el : "#app1", 
		data : { 
			year : new Date().getFullYear(), 
			month : new Date().getMonth()+1 ,
		}
	}) 
</script>

//输出:今天是2020年10月
  • 这里v-text="",双引号并不是代表字符串,而是vue自定义的划定界限的符号。如果我们里边输出字符串,就要在里边再添加一对单引号。而且经测验,要想输出字符串,必须添加单引号,否则会报错

  • 这里month默认是从0开始的,所以我们要+1

  • 这里{{}}代表的就是"",所以在v-text=""中,我们在内容里边就不需要再写{{}}了,直接写data值就行

例3:

<div id='app2'>
<h1>{{ message }}</h1>
<h1>{{ message.concat('!!!') }}</h1>
<h1>{{ message? 'has message' : 'no message' }}</h1>

<!-- 下面这两个语句报错 -->
<!-- <h1>{{ var message = 'message' }}</h1> -->
<!-- <h1>{{ if(message){return info} }}</h1> -->
</div>

<script>
    var app = new Vue({
        el: '#app2', // 绑定了上边的id='app2'的元素 
        data: {
    		message: 'hello'
    	}
    })
</script>

输出:
hello
hello!!!
has message
  • {{}}里边支持表达式

  • 但不是所有的表达式都能放在里边,只有单个语句的可以,像var和if就不可以

  • 如果想使用if语句的话,用三元运算符代替

例4:可以采用对象的形式传递多个数据

<div id="app3">
    <p>姓名 : {{ person.name }}</p>
    <p>性别 : {{ person.sex }}</p>
    <p>年龄 : {{ person.age }}</p>
</div>

<script>
    var app3 = new Vue({
        el: "#app3",
        data: {
            person: {
                name: '小明',
                sex: '男',
                age: 8
            }
        }
    })
</script>

输出:
姓名 : 小明
性别 : 男
年龄 : 8

用{{}}的弊端:

网速很慢或者下面的JavaScript写错时,会直接将{{message}}渲染到页面。而使用v-text="message" 如果出错是不显示的。所以在实际开发中用v-text比较多。

(2) v-html

作用 : 操作元素中的HTML标签。

v-text会将元素当成纯文本输出,v-html会将元素当成HTML标签解析后输出。

例1:v-text

<div id="app3">
	{{ message }}
</div>

<script>
    var app3 = new Vue({
        el : "#app3", 
        data : { 
        	message : "<h1>这是一个h1元素内容</h1>" 
        } 
    }) 
</script>

输出:
<h1>这是一个h1元素内容</h1>
例2:v-html

<div id="app4" v-html="message"></div>

<script>
    var app4 = new Vue({
        el : "#app4", 
        data : { 
        	message : "<h1>这是一个h1元素内容</h1>" 
        } 
    }) 
</script>

输出:

例3:(v-html) 尝试定义样式属性

<div id="app" v-html="msg"></div> 

<script>
    var vm = new Vue({
        el : "#app",
        data : {
        	msg : "<h1 style='color:red'>这是一个h1元素内容</h1>"
        }
    });
</script>
输出: