Vue系列之『满足多数需求的基本使用』

首先创建一个简单的vue应用

# 全局安装 vue-cli
$ npm i -g vue-cli
# 创建一个简单的vue仓库
$ vue init webpack-simple learnvue
# 安装依赖
$ cd learnvue
$ npm i
$ npm run dev

class绑定——动态地切换class

  • 在:class上绑定一个对象
  • 在:class上绑定一个对象名
  • 在:class上绑定一个返回对象的计算属性
  • 在:class上绑定一个数组,数组语法中也可以使用对象语法
  • 三元表达式:根据条件切换列表中的class

注意:普通class和绑定class可以共存






Vue系列之『满足多数需求的基本使用』_第1张图片

style绑定——绑定内联样式

  • 看着很像css内联样式,属性名可用驼峰式或用短横线分隔,短横线分隔要用单引号引起来
  • 直接绑定到一个样式对象
  • 结合计算属性使用
  • 数组语法

v-bind:style 使用需要添加浏览器引擎前缀的 CSS 属性时,如 transform,Vue.js 会自动侦测并添加相应的前缀。




Vue系列之『满足多数需求的基本使用』_第2张图片

vue不得不说的生命周期

当一个vue实例被创建时,它向 Vue 的响应式系统中加入了其 data 对象中能找到的所有的属性。当这些属性的值发生改变时,视图将会产生“响应”,即匹配更新为新的值。

看下图:

Vue系列之『满足多数需求的基本使用』_第3张图片
图源Vue.js教程

一个实例的生命周期分为creat、mount、update、destroy四个阶段,它们的分工各有不同:

  • create:创建
  • mount:挂载DOM
  • update:数据更新
  • destroy:销毁(一般为手动清理事件和定时器)

同时在这些过程中也会运行一些叫做生命周期钩子的函数,这给了用户在不同阶段添加自己的代码的机会。对应生命周期来看,又有以下8个钩子:

beforeCreate、created、beforeMount、mounted、beforeUpdate、updated、beforeDestroy、destroyed。

看一个例子:




打开localhost:8080,页面显示初始msg内容,控制台打印beforeCreate、created、beforeMount、mounted

Vue系列之『满足多数需求的基本使用』_第4张图片

大约1s之后,页面内容发生变化,紧接着watch生效,控制台一次打印出hello,beforeUpdate,updated,这里没有打印出beforeDestroy和destroyed是因为页面上没有事件。

Vue系列之『满足多数需求的基本使用』_第5张图片

v-model

单行文本

v-model 指令用于在表单

Vue系列之『满足多数需求的基本使用』_第6张图片
Vue系列之『满足多数需求的基本使用』_第7张图片
Vue系列之『满足多数需求的基本使用』_第8张图片

在文本区域插值 () 并不会生效,应用 v-model 来代替。

复选框
  • 单个复选框绑定到布尔值



  • 多个复选框绑定到同一数组



绑定到checkedArr中的值是input中的value

单选按钮



选择框
  • 单选时



如果 v-model 表达式的初始值未能匹配任何选项,