2022.1.21
【1】(掌握)Vue初体验
1.Hello Vuejs
我们来做我们的第一个Vue程序,体验一下Vue的响应式
代码做了什么事情?
我们来阅读JavaScript代码,会发现创建了一个Vue对象。
创建Vue对象的时候,传入了一些options:{}
{}中包含了el属性:该属性决定了这个Vue对象挂载到哪一个元素上,很明显,我们这里是挂载到了id为app的元素上
{}中包含了data属性:该属性中通常会存储一些数据
这些数据可以是我们直接定义出来的,比如像上面这样。
也可能是来自网络,从服务器加载的。
浏览器执行代码的流程:
执行到10~13行代码显然出对应的HTML
执行第16行代码创建Vue实例,并且对原HTML进行解析和修改。
并且,目前我们的代码是可以做到响应式的。
<body>
<div id="app">
<h2>{{message}}</h2>
<h1>{{name}}</h1>
</div>
<div>{{message}}</div>
<script src="../js/vue.js"></script>
<script>
// 源码里面有类似于这样的东西 有一个Vue的类 可以往里面传一些参数 Vue的参数是对象类型
function Vue(){
}
</script>
<script>
// let(变量)/const(常量)
// 编程范式: 声明式编程 实例管理div时,只需声明显示什么东西
const app = new Vue({
el: '#app', // 用于挂载要管理的元素
data: { // 定义数据
message: '你好啊,李银河!',
name: 'coderwhy'
}
})
// 原始js的做法(编程范式: 命令式编程) 明确告诉一步步该如何做
// 1.创建div元素,设置id属性
// 2.定义一个变量叫message
// 3.将message变量放在前面的div元素中显示
// 4.修改message的数据: 今天天气不错!
// 5.将修改后的数据再次替换到div元素
// Vue的响应式 --> 可以在打印台修改 app.name='yyy'
</script>
</body>
2.Vue列表显示
现在,我们来展示一个更加复杂的数据:数据列表。
比如我们现在从服务器请求过来一个列表
希望展示到HTML中。
HTML代码中,使用v-for指令
该指令我们后面会详细讲解,这里先学会使用。
是不是变得So Easy,我们再也不需要在JavaScript代码中完成DOM的拼接相关操作了
而且,更重要的是,它还是响应式的。
也就是说,当我们数组中的数据发生改变时,界面会自动改变。
依然让我们打开开发者模式的console,来试一下
<div id="app">
<ul>
<li v-for="item in movies">{{item}}</li>
</ul>
</div>
<script src="../js/vue.js"></script>
<script>
const app = new Vue({
el: '#app',
data: {
message: '你好啊',
movies: ['星际穿越', '大话西游', '少年派', '盗梦空间']
}
})
</script>