Vue是一个流行的JavaScript框架,
用于构建用户界面
。它是一种用于构建单页面应用程序(SPA)的渐进式框架
,也可以用于构建复杂的多页面应用程序。Vue提供了一种简单、灵活和高效的方式来创建交互式的Web界面。
Vue具有以下特点:
总之,Vue是一种非常流行的JavaScript框架,被广泛应用于构建现代Web应用程序。
vue2官网地址:
https://v2.cn.vuejs.org/
创建Vue 实例,初始化渲染的核心步骤:
1.准备容器
<div id="app">
<h1>{{msg}}h1>
<a href="#">{{count}}a>
div>
2.引包(官网)-开发版本/生产版本
<script src="./vue.js">script>
3.创建Vue实例new Vue()
4.指定配置项el data =>渲染数据
el指定挂载点,选择器指定控制的是哪个盒子,data 提供数据
<script>
//在全局环境,就有了vue构造函数
const app = new Vue({
el: '#app',
data: {
msg: 'hello world',
count: 333
}
})
script>
{{}}
插值表达式是一种Vue的模板语法
利用表达式进行插值,渲染到页面中
表达式:是可以被求值的代码,JS引擎会将其计算出一个结果
{{表达式}}
①使用的数据要存在( data )
②支持的是表达式,而非语句if … for
③不能在标签属性里面使用
Vue的响应式核心特性是通过使用Object.defineProperty()
来实现的。具体特性包括:
数据劫持
:当我们将一个普通的JavaScript对象传入Vue实例的data选项时,Vue会递归遍历这个对象的所有属性,并使用Object.defineProperty()将它们转换为getter和setter,从而实现对每个属性的劫持。
数据驱动
:一旦一个属性被劫持,当该属性的值发生变化时,Vue会自动触发一系列的更新操作,比如重新渲染视图或者执行其他响应逻辑,从而实现了数据驱动视图的更新。
响应式依赖追踪
:Vue会在getter中收集当前属性的依赖,当该属性的值发生变化时,Vue会触发所有依赖该属性的地方进行更新。这个机制是通过一个全局的Dep类和每个属性对应的Watcher实例来实现的。
批量异步更新
:在属性的setter中,Vue会将需要更新的Watcher放入一个队列中,然后通过nextTick函数在下一次事件循环中异步地执行这些Watcher的更新操作。这个机制可以保证在同一事件循环中的多次数据变化会被合并成一次更新操作,从而提高性能。
总的来说,Vue的响应式核心特性实现了数据和视图的双向绑定,使得数据的变化能够自动更新到视图上
,同时也提供了一套方便的API,让开发者可以轻松地实现复杂的交互逻辑。
Vue指令是用于在模板中绑定数据和操作,以此实现动态更新视图的功能。以下是Vue指令的基本使用:
<span v-text="message">span>
<span v-html="htmlMessage">span>
<img v-bind:src="imageUrl" alt="">
<button v-on:click="handleClick">Click Mebutton>
简写
:@事件名
双向绑定表单元素
的值和Vue实例的数据<input v-model="name" type="text">
<div v-if="isVisible">Visiblediv>
<div v-else>Hiddendiv>
<ul>
<li v-for="item in items" :key="item.id">{{ item.name }}li>
ul>
v-for中的
key
key作用:
给元素添加的唯一标识,便于Vue进行列表项的正确排序复用。
注意点:
1.key 的值只能是字符串或数字
类型
2.key的值必须具有唯一性
3.推荐使用id
作为key (唯一),不推荐使用index作为key(会变化,不对应)
<div v-show="isVisible">Visiblediv>