VUE是一个用于构建用户界面的渐进式框架
构建用户界面:基于数据渲染出用户看到的界面
渐进式:声明式渲染->组件系统->客户端路由->大规模状态管理->构建工具
框架:一套完整的项目解决方案
VUE使用方式:
1.局部模块改造,用Vue核心包开发
2.整站开发,用Vue核心包&Vue插件&工程化开发
- <div id="app">
-
- </div>
<script src="https://cdn.jsdelivr.net/npm/vue@2.7.14/dist/vue.js"></script>
el:指定挂载点
data:提供数据
- const app = new Vue({
- el: '#app',
- data: {
- msg: 'hello'
- }
- })
- <div id="app">
- {{msg}}
- </div>
{{ }}:利用表达式进行插值,渲染到页面
注意点
1.使用数据必须存在
2.支持表达式,但不支持语句
3.不能在标签属性中使用{{}}插值
响应式:数据变化,视图自动更新
访问
app.msg
修改数据
app.msg="bye"
带前缀的特殊标签属性
作用:设置元素的innerHTML
语法:v-html="表达式"
- <body>
- <div id="app">
- <div v-html="msg"></div>
- </div>
- </body>
- <script src="https://cdn.jsdelivr.net/npm/vue@2.7.14/dist/vue.js"></script>
- <script>
- const app = new Vue({
- el: '#app',
- data: {
- msg: 'baidu'
- }
- })
-
- </script>
作用:控制元素显示隐藏
语法:v-show="表达式",表达式为true显示,false隐藏,但在源码中显现
场景:频繁切换显示隐藏的场景
作用:控制元素显示隐藏(条件渲染)
语法:v-if="表达式",表达式为true显示,false隐藏,不在源码中显现
场景:要么显示,要么隐藏
作用:注册事件=添加监听+提供处理逻辑
语法:
1.v-on:事件名="内联语句" 或者@事件名="内联语句"
2.v-on:事件名="methods中的函数名" 或者@事件名="methods中的函数名"
作用:辅助v-if进行判断渲染
语法:v-else="表达式",要紧挨v-if使用
见上
作用:动态地设置html的标签属性
语法:v-bind:属性名="表达式"
作用:基于数据循环(数组,对象,数字~),多次渲染整个元素
语法:v-for="(item,index) in 数组",要加key属性
作用:给表单元素使用,双向数据绑定,快速获取设置表单元素内容
语法:v-model="表达式"
- const app=new vue({
- // 绑定的容器
- el:'',
- // 储存的数据
- data:{
- obj:{
- name:'',
- id:''
- }
- },
- // 计算属性设置
- computed:{
- // 本质和data里面储存的数据一样
- totalCount(){
- num=0
- return num
- }
- },
- // 监视器
- watch:{
- obj:{
- deep:true,
- handler(newValue){
- // 数据改变后执行的行为
- console.log()
- }
- },
- // 对象内的属性监听,简单写法
- 'obj.id'(newValue){}
- }
- })
规范:
1.属性绑定,src="{{url}}升级为"src="url"
2.事件绑定,bindtap="eventName"升级为@tap="eventName"
3.支持Vue常用指令
生命周期:一个Vue实例从创建到销毁的过程,分别是创建(初始化,响应式数据,如data:{}),挂载(渲染模板,绑定容器,插入数据),更新(数据修改,更新视图),销毁(销毁实例)

Vue生命周期过程中,会自动运行一些函数,被称为【生命周期钩子】→ 让开发者可以在【特定阶段】运行自己的代码。
基于Vue2.0的桌面端组件库
- <!-﹣引入ElementUI样式 -->
- <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
- <Script src="https://unpkg.com/vue/dist/vue.js"></script>
- <!-﹣引入ElementUI组件库﹣->
- <script src="https://unpkg.com/element-ui/lib/index.js">x/script>
container