【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> // 可以

Mustache结构语法参考

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】(一)基础使用的更多相关文章

  1. vue2.0基础知识,及webpack中vue的使用

    ## 基础指令 ## [v-cloak]{         Display:none;     }     <p v-cloak>xx{{msg}}xx</p> //解决闪烁问 ...

  2. Vue2.0 基础入门

    前言:" 今生遇汝,何其幸哉:于我蒙昧之时遇到你,于我大雾初透之时爱上你,于我大智初醒之时沉沦你. " 官网: 介绍 - Vue.js (vuejs.org) 指令与修饰符 创建实 ...

  3. Vue2.5基础

    1.1 创建第一个Vue实例 官方网站:https://cn.vuejs.org 学习 --> 安装 刚开始学习Vue,使用最简单的安装方式,直接用<script>引入 我们下载开发 ...

  4. 【vue2.x基础】用npm起一个完整的项目

    1. 安装vue npm install vue -g 2.  安装vue-cli脚手架 npm install vue-cli -g 3. 安装webpack npm install webpack ...

  5. Vue2.0表单校验组件vee-validate的使用

    vee-validate使用教程 *本文适合有一定Vue2.0基础的同学参考,根据项目的实际情况来使用,关于Vue的使用不做多余解释.本人也是一边学习一边使用,如果错误之处敬请批评指出* 一.安装 n ...

  6. Vue2自定义插件的写法-Vue.use()

    最近在用vue2完善一个项目,顺便温习下vue2的基础知识点! 有些知识点恰好没用到时间一长就会淡忘,这样对自己是一种损失. 定义一个对象 对象里可以有任何内容 但install的函数是必不可少的,因 ...

  7. vee-validate使用教程

    vee-validate使用教程 *本文适合有一定Vue2.0基础的同学参考,根据项目的实际情况来使用,关于Vue的使用不做多余解释.本人也是一边学习一边使用,如果错误之处敬请批评指出* 一.安装 n ...

  8. VUE验证器哪家强? VeeValidate absolutely!

    VUE验证器哪家强? VeeValidate absolutely! vee-validate表单验证用法 github地址:https://github.com/baianat/vee-valida ...

  9. vue3项目后台管理系统模板

    Vue3.0 发布第一个版本至今有一段时间了,到现在一直在更新优化,在性能方面,对比 Vue2.x ,性能的提升比较明显,打包后体积更小 来看下 Vue3.x 新增了哪些功能和特性. Performa ...

  10. 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 十五 ║Vue基础:JS面向对象&字面量& this字

    缘起 书接上文<从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 十四 ║ VUE 计划书 & 我的前后端开发简史>,昨天咱们说到了以我的经历说明的web开发经历的 ...

随机推荐

  1. Ubuntu20.04linux内核(5.4.0版本)编译准备与实现过程-编译前准备(1)

    最近项目也和linux kernel技术有关,调试内核和内核模块.修改内核源码,是学习内核的重要技术手段之一.应用这些技术时,都有一本基本的要求,那就是编译内核.因此,在分析内核调试技术之前,本随笔给 ...

  2. K8S 本地 配置 Local PV 实践

    上面我们创建了后端是 hostPath 类型的 PV 资源对象,我们也提到了,使用 hostPath 有一个局限性就是,我们的 Pod 不能随便漂移,需要固定到一个节点上,因为一旦漂移到其他节点上去了 ...

  3. PictureCleaner 官方版 v1.1.3.04061,免费的图片校正及漂白专业工具,专业去除文档图片黑底麻点杂色,规格化A4、B5尺寸输出,还你一个清晰的文本。

    当家长多年,每天都要拍照试卷打印.用App去掉图片黑底就成了每天必备工作.可是,有些图片文件不是来自手机,所以需要一个电脑版的图片漂白工具.经过一个多月努力,PictureCleaner官方版诞生了 ...

  4. sql注入之超详细sqlmap使用攻略

    0x00 前言 干过sql注入的小伙伴们一定听说过sqlmap的大名,但是面对一些特殊情况,sqlmap也不一定"好使",这里的"好使"并不是真正不好使的意思, ...

  5. 带你全面认识CMMI V2.0(三)——实践域

    实践域以往被称为称为"过程域",如:配置管理,现在叫做"实践域".对于2.0版,则有25个适用的实践域.与以前版本的CMMI模型一样,"实践域&quo ...

  6. Dynamics CRM新加了组织后提示数据加密错误的解决方法

    新加组织后登录报错如下: 这个是因为你新还原的组织原来绑定的加密GUID和现有的组织冲突导致的,所以需要重新为数据加密绑定一个GUID 解决办法:随机生成一个GUID 可以在https://guidg ...

  7. mariadb_1 数据库介绍及基本操作

    数据库介绍 1.什么是数据库? 简单的说,数据库就是一个存放数据的仓库,这个仓库是按照一定的数据结构(数据结构是指数据的组织形式或数据之间的联系)来组织,存储的,我们可以通过数据库提供的多种方法来管理 ...

  8. 14. VUE 子组件修改父组件的值

    在 Vue 当中,父组件 -> 子组件 传值,都是通过属性的形式传递的. 子组件 修改 传递数据 直接操作父组件传递过来的值,用是可以用的,但是打开控制台后,会发现 Vue 有个警告:你不要直接 ...

  9. IPC 方法分类

    IPC 方法分类 进程间通信 shell out 被调用程序在执行完毕之前接管用户的键盘和显示,退出后,调用程序重新控制键盘和显示并继续运行. 专门程序通常有文件系统与父进程进行通信,方法是在指定位置 ...

  10. SpringCloud(五)GateWay网关

    Config 分布式配置中心 概述 微服务意味着要将单体应用中的业务拆分成个个子服务,每个服务的粒度相对较小因此系统中会出现大量的服务 由于每个服务都需要必要的配置信息才能运行,所以一套集中式的.动态 ...