VUE如何操作DOM
最近有些自闭,life is a shit,但是学习不能停,也开始继续健身了,试图让自己好一点.这是学习VUE的第一篇博客,先来说一下准备工作。我们需要在谷歌商店安装vue-devtools插件,打不开的话,点击这里,按照步骤操作后,就可以在谷歌商店下载插件了,下载插件的步骤:点击谷歌浏览器的更多工具 -> 扩展程序 -> 打开chrome网上应用商店 -> 搜索vue devt
最近有些自闭,life is a shit,但是学习不能停,也开始继续健身了,试图让自己好一点.
这是学习VUE的第一篇博客,先来说一下准备工作。我们需要在谷歌商店安装vue-devtools插件,打不开的话,点击这里,按照步骤操作后,就可以在谷歌商店下载插件了,下载插件的步骤:点击谷歌浏览器的更多工具 -> 扩展程序 -> 打开chrome网上应用商店 -> 搜索vue devtools -> 添加至chrome,之后打开哔哩哔哩的官网,右上角出现这个图标,则表示已经生效了
VUE是通过传递一些配置给Vue对象和页面中引用插值表达式来操作DOM的,我们就从其安装开始说明
1.VUE的使用
点击这里进入VUE中文官网,点击起步-->点击安装-->下载开发版本,然后在页面中直接引入就好了。引入vue.js文件后,给我们提供了一个构造函数Vue,在js中,new Vue()会返回一个vue实例对象,我们用变量接收它,传递一个配置对象,代码如下
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<!-- 引入vue文件 -->
<script src="./vue.js"></script>
</head>
<body>
<script>
const vm = new Vue({
//配置对象config
});
</script>
</body>
</html>
2.配置对象
上面说到new Vue()中可以传递一个配置对象,下面就来康康配置中有些什么属性吧
1.el
属性el的数据类型是字符串,表示element(元素),其作用是:配置控制的元素,表示Vue要控制的区域,其值支持css选择器的筛选方式,举个栗子:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<!-- 引入vue文件 -->
<script src="./vue.js"></script>
</head>
<body>
<div id="app"></div>
<script>
const vm = new Vue({
//配置对象config
el: "#app" //找到dom中id为app的元素
});
console.log("el:",vm.$el); //$el是vm内置的对象
console.log("vm:",vm);
</script>
</body>
</html>
【结果】可以看到,能够选取到id为app的div元素
2.$mount
这里要首先说明的是,$mount是vue的一个方法,并不是需要配置的对象,它的作用和el相同,例
const vm = new Vue({});
console.log("el",vm.$mount("#app").$el); //$el是vm内置的对象
console.log("vm:",vm);
【结果】同图1相同
3.data
属性data的数据类型是对象,其作用是存放要用到的数据,且数据是响应式的,例子如下
【例2】
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<!-- 引入vue文件 -->
<script src="./vue.js"></script>
</head>
<body>
<div id="app">
<!-- 将data中msg对应的数据渲染到页面 -->
{{ msg }}
</div>
<script>
const vm = new Vue({
//配置对象config
el: "#app" , //找到dom中id为app的元素
data: {
msg: "你不用装冷淡,我没想纠缠"
}
});
</script>
</body>
</html>
【结果】页面中出现msg中的字符串
3.插值表达式
插值表达式的使用方法是用两个花括号将需要渲染到页面的数据括起来,如 {{ msg }}(例2所示),插值表达式中可以填写Vue中的data,数据值,表达式
1)填写data
<body>
<div id="app">
<!-- 将data中msg对应的数据渲染到页面 -->
{{ name }}
{{ msg }}
</div>
<script>
const vm = new Vue({
//配置对象config
el: "#app", //找到dom中id为app的元素
data: {
msg: "你不用装冷淡,我没想纠缠",
name: '离岸'
}
});
</script>
</body>
2)填写数据值
包括数字、字符串、布尔值、undefined、null、数组、对象等
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="./vue.js"></script>
</head>
<body>
<div id="app">
<p>Number:{{ 123 }}</p>
<p>String:{{ '寄给你全宇宙的爱和自太古至永劫的思念'}}</p>
<p>Boolean:{{ true }}</p>
<p>Array:{{ [1,2,3] }}</p>
<p>Object:{{ {name:'离岸', word:'你不用装冷淡,我没想纠缠'} }}</p>
</div>
<script>
const vm = new Vue({
//配置对象config
el: "#app" //找到dom中id为app的元素
});
</script>
</body>
</html>
【结果】
3)表达式
A.运算表达式
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="./vue.js"></script>
</head>
<body>
<div id="app">
<p>加法:{{ 'you' + 'me' }}</p>
<p>减法:{{ 10 - 5 }}</p>
<p>乘法:{{ 100 * 7 }}</p>
<p>除法:{{ 1000 / 12 }}</p>
</div>
<script>
const vm = new Vue({
//配置对象config
el: "#app" //找到dom中id为app的元素
});
</script>
</body>
</html>
【结果】
B.逻辑表达式
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="./vue.js"></script>
</head>
<body>
<div id="app">
<!-- 逻辑表达式 -->
<p>或:{{ 0 || 1 }}</p>
<p>与:{{ 1 && 0 }}</p>
<p>非:{{ !0 }}</p>
</div>
<script>
const vm = new Vue({
//配置对象config
el: "#app" //找到dom中id为app的元素
});
</script>
</body>
</html>
【结果】
C.三元表达式
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="./vue.js"></script>
</head>
<body>
<div id="app">
<!-- 三元表达式 -->
{{ 1 + 1 === 2 ? '小明胜利' : '小红胜利' }}
</div>
<script>
const vm = new Vue({
//配置对象config
el: "#app" //找到dom中id为app的元素
});
</script>
</body>
</html>
【结果】
D.函数表达式
【注意】
1)插值表达式不能填的内容:语句、流程控制
2)若在插值表达式中填入未在data中声明的数据,则会报错
3)若填入的数据在原型链上找不到,则值为undefined,例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="./vue.js"></script>
</head>
<body>
<div id="app">
{{ edu.highSchool }}
</div>
<script>
const vm = new Vue({
//配置对象config
el: "#app" , //找到dom中id为app的元素
data: {
name: 'jwh',
edu: {
college: 'Xupt',
undergraduate: 'Xupt'
}
}
});
</script>
</body>
</html>
【结果】
内容就这些了 ,还是不开心,但是这次我要一个人抗,加油吧
更多推荐
所有评论(0)