vue基础知识总结(一)

MVVM

M数据模型 V视图模型 VM同步Model和View的对象

插值表达式 {{}}

可以写简单的表达式,方法,以及三元表达式

v- 指令

1. v-text
2. v-html
3. v-bind:(绑定属性简写’:’)
- 绑定属性可以拼接参数 :href=“‘del.php?id=’+id”
- 绑定类名 :class=”{‘类名’:布尔值(或定义一个变量)}”
4. v-for (也可以用 of 代替 in)
- v-for渲染数组 v-for=”item in arr” || v-for=”(item, index) in arr”
- v-for渲染对象 v-for=”value in obj” || v-for=”(value, key, index) in obj”
- v-for迭代数字 v-for=”item in 10”

使用v-for渲染数组和对象

v-for能够根据data中数据的变化自动刷新视图

注意,以下两种情况不会触发视图更新
  1. 当使用数组的length属性去改变数组的时候,不会触发视图更新
  2. 使用数组下标的方式去改变数组的时候,也不会触发视图更新
解决上述问题:
  • 使用Vue.set(arr, index, newVal) arr是需要改变的数组,index是数组里面的项, newVal是改变后的值
  • Array.prototype.splice()
    注意 v-for必须结合key属性来使用,它会唯一标识数组中的每一项,未来当数组中的那一项改变的时候,它会只更新那一项,好处就是提升性能。注意key的值唯一,不能重复
5. v-model指令用来双向数据绑定:就是model和view中的值进行同步变化
注意v-model只能在input,textarea,selet标签使用
6. v-on 事件绑定
  • 简写@click=”xxx(参数)”
  • 通过 $event(固定值,不加引号)传递时间对象
事件修饰符
  • .stop 阻止冒泡
  • .prevent 阻止浏览器默认行为
  • .once 只触发一次事件
  • .capture 实现事件捕获触发事件
  • .self 事件在该元素本身(而不是子元素)触发时触发回调
按键修饰符
  • v-on:keyup.enter=”fn”
7. v-if 和 v-show 控制元素的 显示隐藏
  • v-if通过控制dom控制元素显示隐藏
  • v-show通过控制样式display:none控制元素显示隐藏 不支持语法
使用场景
  • 涉及大量dom操作,使用v-show
  • 设涉及到异步数据渲染,使用v-if
8. v-cloak 解决插值表达式闪烁问题。当vue实例结束编译 v-cloak会自动消失
### Vue.js 基础知识总结与归纳 Vue.js 是个用于构建用户界面的渐进式 JavaScript 框架,其核心库专注于视图层,能够轻松集成到现有项目中[^3]。以下是关于 Vue.js 的基础知识总结和归纳: #### 1. 核心概念 - **MVVM 模式**:Vue 实现了 MVVM(Model-View-ViewModel)模式,开发者通过绑定数据模型(Model)和视图(View),使得数据变化时视图会自动更新。 - **模板语法**:Vue 使用双大括号 `{{ }}` 表达式将数据插入到 HTML 中[^2]。 - **指令**:Vue 提供了些内置指令(如 `v-if`、`v-for`、`v-bind` 和 `v-on`),用于操作 DOM[^2]。 #### 2. 生命周期 Vue 实例从创建到销毁的过程称为生命周期。以下是关键的生命周期钩子: - `beforeCreate`:实例初始化完成,但尚未挂载数据或事件监听器。 - `created`:实例已完成数据观测,但尚未挂载到 DOM。 - `beforeMount`:模板已编译,但尚未渲染到页面上。 - `mounted`:实例已被挂载到 DOM 上,可以访问真实 DOM[^5]。 - `beforeUpdate`:当数据发生变化时触发,此时 DOM 尚未更新。 - `updated`:DOM 已经根据最新的数据完成更新[^5]。 - `beforeDestroy` 和 `destroyed`:实例即将销毁或已经销毁。 #### 3. 数据绑定 - **单向绑定**:通过 `v-bind` 指令实现父组件向子组件传递数据。 - **双向绑定**:通过 `v-model` 指令实现表单输入与数据之间的同步[^2]。 #### 4. 组件化开发 - **局部组件**:在 `components` 属性中定义组件,并在模板中使用。 - **全局组件**:通过 `Vue.component` 方法注册全局组件。 - **Props 和 Events**:`props` 用于父组件向子组件传递数据,`$emit` 用于子组件向父组件发送事件。 #### 5. 路由管理 Vue Router 是官方提供的路由管理器,用于构建单页面应用中的路由系统。通过配置路由规则,可以实现页面间的切换和参数传递。 #### 6. 状态管理 Vuex 是 Vue 官方的状态管理库,适用于管理复杂的应用状态。它提供了集中式的存储机制,使组件间共享状态变得更加高效。 #### 7. 过渡效果与动画 Vue 提供了丰富的过渡效果支持,包括 CSS 动画、JavaScript 钩子函数等,用于增强用户体验。 #### 8. 插件系统 Vue 具有强大的插件系统,可以通过安装插件扩展核心功能。例如,`vue-router` 和 `vuex` 都是以插件形式提供的。 #### 示例代码 以下是个简单的 Vue 实例示例: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Vue Example</title> <script src="https://cdn.jsdelivr.net/npm/vue@2.6.10/dist/vue.js"></script> </head> <body> <div id="app"> {{ message }} </div> <script> new Vue({ el: '#app', data: { message: 'Hello Vue!' } }); </script> </body> </html> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值