前言
本文简单介绍了vue的响应式的效果。
响应式数据
响应式数据是指当数据改变后,视图中的内容也会发生相应的改变。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>vue响应式数据</title>
<!-- 使用CDN引入Vue -->
<script src="https://unpkg.com/vue@next"></script>
</head>
<body>
<div ></div>
<script>
Vue.createApp({ //创建Vue实例
data(){
return {
content: '0'
}
},
template:'<div>{{content}}</div>'
}).mount('#root'); //将创建的Vue实例挂载到DOM上
</script>
</body>
</html>
页面成功渲染出数字 0
代码解释: 首先采用CDN方式引入Vue 然后使用Vue.createApp()创建一个Vue实例 通过mount()将Vue实例挂载到id为root的DOM节点上 将data返回值通过插值表达式的方式在页面中渲染出来
页面渲染出的数字 0 , 就是响应式数据。
为了确认页面渲染出来的数据具备响应式,我们将data后加上mounted(),并在mounted()中调用一个定时器,定时器每隔1000毫秒将data的返回值加一,看页面如何渲染。
mounted() 是一个钩子,在初始化页面完成后对节点进行相关操作。
修改后的代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>vue响应式数据</title>
<script src="https://unpkg.com/vue@next"></script>
</head>
<body>
<div ></div>
<script>
Vue.createApp({
data(){
return {
content: 0
}
},
mounted(){
setInterval(() => {
this.content++;
}, 1000);
},
template:'<div>{{content}}</div>'
}).mount('#root');
</script>
</body>
</html>
页面每隔一秒动态显示:0,1,2,3....
说明使用Vue页面渲染出的数据具备响应式。
结语
本小节到此结束,谢谢大家的观看!
如有问题欢迎各位指正