【vue2】(一)基础使用
【vue2】(一)基础使用
MVVM
MVVM: View - Model - ViewModel
View: Dom层,视图层
Model: Plain JavaScript Objects,数据层
ViewModel: 视图模型层,实现了
- Data Bindings: 将数据实时显示到Dom中
- Dom Listeners: Dom监听,对Dom内事件进行响应并反应到数据层中更新
Vue生命周期

重要语法
Mustache语法
即{{}}部分
/**
* 1、简单运算;
* 2、三元运算符;
* 3、不能放JS语句:定义变量、赋值、定义函数;
* 4、可以放有返回值的函数、语法等;
* 5、直接放对象 左右两边需要加空格;
......
*/
// 简单运算
<div>{{ a + b }}</div>
// 三元运算符
<div>{{ a ? 0 : 1}}</div>
// 不能放JS语句
<div>{{ var a }}</div> // 报错
// 返回值
<div>{{ (function a () { return 10})() }}</div>
// 也可以是js原生函数
// 直接放对象 左右两边需要加空格;
<div>{{{name: 10}}}</div> // 报错
<div>{{ {name: 10} }}</div> // 可以
<div>{{obj}}</div> // 可以
v-once指令
指定元素和组件只渲染一次,不会再随数据变化而变化。
v-html指令
将字符串以html形式显示

h1标签中内容会被message内容替代。
v-text指令
v-text效果同{{xx}},且同v-html会覆盖原有元素内部内容。

v-pre指令
会将元素内容原封不动显示出来,不做解析及渲染。
v-cloak指令
<style>
[v-cloak]{
display: none;
}
</style>
<h1 v-cloak>{{ message }}</h1>
给元素绑定v-cloak前,在vue对Dom还未解析完时,Dom中会显示{{内容}},效果不好。
而添加v-cloak后,vue解析完后会自动删除v-cloak,此时正常显示。
v-bind指令
动态绑定普通属性。
给想要动态绑定指令的属性前添加v-bind:。
语法糖::
<img v-bind:src="imgUrl">
// imgUrl: data中的变量
<img :src="imgUrl">
动态绑定class属性。
<h1 :class="[active, line]">hhhhh</h1>
<h1 :class="{active: isActive, line: isLine}">hhhhh</h1>
1. {active: isActive, line: isLine} // 对象
2. [{active: true},{对象···}]
2. :class 可以与 class共存
3. methods或computed


动态绑定style属性。
同动态绑定class属性,分为对象语法和数组语法。
计算属性computed

计算属性本质是一个属性,不需要使用()调用,当多处调用时,计算属性get方法只调用一次,可以进行一些比较复杂的操作(使用Mustache很复杂或者冗杂。
计算属性的本质是set和get,computed渲染到dom时调用get,对其赋值时调用set,如控制台app.fullname='a',会执行set方法,我们可以设置set参数,'a'会传参到这个参数。

v-on指令
事件绑定
语法:
1.v-on:xxx
2.语法糖:@xxx
事件调用:
1.@xxx="js代码"
2.@xxx="methods内部函数"
函数传参:
1.不加()
如果函数有参数,则默认将evnet事件传参给第一个参数
2.加()
未接收到实参的变量默认为undefined
如果想获取到event,可以使用$event作为实参

修饰符(常用
| 修饰符 | 作用 |
|---|---|
| @xx.stop | 阻止事件冒泡 |
| @xx.prevent | 取消默认事件 |
| @keyup.[某个键值](etc. enter | 监听某个键点击 |
| .native | 监听组件根元素的原生事件 |

v-if指令
v-if,v-else-if,v-else同js条件语句
示例:
<div v-if="type == 'A'">
A
</div>
<div v-else-if="type=='B'">
B
</div>
<div v-else>
C
</div>
v-show指令
和v-if效果很相似
但v-if判false时,元素直接DOM内消失,而v-show判false时,仅元素未显示(display=none)
v-for指令
遍历(数组|对象)
语法:
<div id="app">
<ul>
<!-- 遍历对象: i:value j:key k:index -->
<li v-for="(i, j, k) in info">{{ i }}.{{j}}.{{k}}</li>
<!-- i:value k:index -->
<li v-for="(i, j) in info">{{ i }}.{{j}}</li>
</ul>
</div>
响应式函数:
push()
pop()
shift()
unshift()
splice()
sort()
reverce()
直接通过索引改值,不会动态响应
etc. xxx[index]='a'
xxx.splice(index, 1, 'a')
vue.set(xxx, index, 'a')
v-model指令
实现表单控件和数据之间的双向绑定
原理:
<input type="text" v-model="message">
<=>
<input type="text" :value="message" @input="message=$event.target.value">
v-model绑定text类型

v-model绑定radio类型

v-model绑定checkbox类型
单选框:

多选框:

v-model绑定select类型
单选:

复选:
v-model值绑定
用以动态响应服务器消息等,而不将元素固定。

v-model修饰符
| 修饰符 | 作用 |
|---|---|
| v-model.lazy | 输入框数据失去焦点或回车时数据才会更新 |
| v-model.number | 将输入框中数据自动转化为数字类型 |
| v-model.trim | 自动去除输入框前后空格 |
【vue2】(一)基础使用的更多相关文章
- vue2.0基础知识,及webpack中vue的使用
## 基础指令 ## [v-cloak]{ Display:none; } <p v-cloak>xx{{msg}}xx</p> //解决闪烁问 ...
- Vue2.0 基础入门
前言:" 今生遇汝,何其幸哉:于我蒙昧之时遇到你,于我大雾初透之时爱上你,于我大智初醒之时沉沦你. " 官网: 介绍 - Vue.js (vuejs.org) 指令与修饰符 创建实 ...
- Vue2.5基础
1.1 创建第一个Vue实例 官方网站:https://cn.vuejs.org 学习 --> 安装 刚开始学习Vue,使用最简单的安装方式,直接用<script>引入 我们下载开发 ...
- 【vue2.x基础】用npm起一个完整的项目
1. 安装vue npm install vue -g 2. 安装vue-cli脚手架 npm install vue-cli -g 3. 安装webpack npm install webpack ...
- Vue2.0表单校验组件vee-validate的使用
vee-validate使用教程 *本文适合有一定Vue2.0基础的同学参考,根据项目的实际情况来使用,关于Vue的使用不做多余解释.本人也是一边学习一边使用,如果错误之处敬请批评指出* 一.安装 n ...
- Vue2自定义插件的写法-Vue.use()
最近在用vue2完善一个项目,顺便温习下vue2的基础知识点! 有些知识点恰好没用到时间一长就会淡忘,这样对自己是一种损失. 定义一个对象 对象里可以有任何内容 但install的函数是必不可少的,因 ...
- vee-validate使用教程
vee-validate使用教程 *本文适合有一定Vue2.0基础的同学参考,根据项目的实际情况来使用,关于Vue的使用不做多余解释.本人也是一边学习一边使用,如果错误之处敬请批评指出* 一.安装 n ...
- VUE验证器哪家强? VeeValidate absolutely!
VUE验证器哪家强? VeeValidate absolutely! vee-validate表单验证用法 github地址:https://github.com/baianat/vee-valida ...
- vue3项目后台管理系统模板
Vue3.0 发布第一个版本至今有一段时间了,到现在一直在更新优化,在性能方面,对比 Vue2.x ,性能的提升比较明显,打包后体积更小 来看下 Vue3.x 新增了哪些功能和特性. Performa ...
- 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 十五 ║Vue基础:JS面向对象&字面量& this字
缘起 书接上文<从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 十四 ║ VUE 计划书 & 我的前后端开发简史>,昨天咱们说到了以我的经历说明的web开发经历的 ...
随机推荐
- 6、Spring教程之自动装配
自动装配说明 自动装配是使用spring满足bean依赖的一种方法 spring会在应用上下文中为某个bean寻找其依赖的bean. Spring中bean有三种装配机制,分别是: 在xml中显式配置 ...
- 阿里二面,面试官居然把 TCP 三次握手问的这么细致
TCP 的三次握手和四次挥手,可以说是老生常谈的经典问题了,通常也作为各大公司常见的面试考题,具有一定的水平区分度.看似是简单的面试问题,如果你的回答不符合面试官期待的水准,有可能就直接凉凉了. 本文 ...
- 简单了解Git
目录 Git命令 如何将一个新建的文件添加到Git仓库 版本控制 本地的项目丢到Gitee上 代码修改以及推送步骤 分支管理 Git命令 1.git init创建git本地仓库 2.ls 查看 ...
- Python数据分析入门(十四):数据分析中常用图
折线图: 折线图用于显示数据在一个连续的时间间隔或者时间跨度上的变化,它的特点是反映事物随时间或有序类别而变化的趋势.示例图如下: 折线图应用场景: 折线图适合X轴是一个连续递增或递减的,对于没有规律 ...
- 答应我,别在go项目中用init()了
前言 go的 init函数给人的感觉怪怪的,我想不明白聪明的 google团队为何要设计出这么一个"鸡肋"的机制.实际编码中,我主张尽量不要使用init函数. 首先来看看 init ...
- JS基础学习第四天
对象(Object) 对象是JS中的引用数据类型对象是一种复合数据类型,在对象中可以保存多个不同数据类型的属性使用typeof检查一个对象时,会返回object 对象的分类: 1.内建对象- 由ES标 ...
- Day06_29_Static关键字
Static 关键字 * Static 关键字的用法 - static既可以修饰变量(全局变量和局部变量),又可以修饰方法.static类型的变量称为静态变量,如果不初始化则编译器自动初始化为0 - ...
- OOP-面向对象(三)
魔术方法的使用 # 使用 __new__ 创建单态模式 class Singleton(): __obj = None def __new__(cls, *args, **kwargs): if cl ...
- 通过Dapr实现一个简单的基于.net的微服务电商系统(八)——一步一步教你如何撸Dapr之链路追踪
Dapr提供了一些开箱即用的分布式链路追踪解决方案,今天我们来讲一讲如何通过dapr的configuration来实现非侵入式链路追踪的 目录:一.通过Dapr实现一个简单的基于.net的微服务电商系 ...
- git 让忽略.gitignore文件马上生效
在.gitignore文件里面输入 *.zip 表示所有zip文件忽略更改 /bin 表示忽略整个根目录的bin文件夹 /src/aa.jar 表示忽略/src/aa.jar文件 设置完.gitign ...