vue基础知识笔记01

Vue

1、Vue的介绍

​ Vue是构建用户界面(UI)JS库

1.1特点

  • 体积小 打包之后只有20k
  • 效率高 存在虚拟DOM,性能非常强
  • 双向数据绑定 Vue数据跟页面DOM数据不分你我
  • 生态丰富 基于Vue有很多插件跟UI库

1.2Vue的历史

​ 发布草案:2013年

​ 1.0版本发布:2015年10月

​ 2.0版本发布:2016年10月 – 稳定版本2.6

​ 3.0版本发布: 2020年

2、Vue的引入

2.1 本地引入

CDN引入:

下载到本地:

2.2脚手架的安装

vue的脚手架的作用:帮助我们快速构建Vue的基本项目目录

npm i @vue/cli -g 或 npm i -g @vue/cli

或

yarn add global @vue/cli

检查是否安装成功:
vue --version    // @vue/cli 5.0.8

yarn环境变量配置

yarn global bin 查看yarn的安装地址 ******
我的电脑 -->右键属性 -->高级系统配置 -->环境变量 -->配置path ******

2.3 创建Vue项目

vue create 项目名    -- vue create demo-test   -- vue create demo

创建过程中有一堆选项:

在这里插入图片描述

注意:如果你想从头在来

C:\Users\你的电脑名字   删除vuerc文件就可以了

创建项目时的问题:

1、没有安装node.js => 安装node.js

2、没有配置yarn环境变量 => 配置系统变量 见:yarn环境变量配置

3、vue不能识别 没有安装vue脚手架

3.0 项目目录介绍

3.1 一级目录

​ 内容详解:
在这里插入图片描述

3.2 二级目录

main:是整个项目的入口文件

App:是项目的根组件

4.0 组件

4.1 组件化开发

​ 概念:前端大型项目可以理解为拼积木,把大型项目拆分为一堆小的组件,使用这些组件组合成一个完整的项目,这就是组件化开发(相当于拼积木)

  • ​ 可重用

  • ​ 可组合

  • ​ 易维护

4.2 单文件组件

​ 一个**.vue**文件就是一个单文件组件

结构 — html

交互 — js

样式 — css

<template> // 写html的地方
  <div class="title"> // 可以理解成加强版html  还可以写很多vue提供的api 比如 v-for v-if  v-model
    <h1>我是单页面文件</h1>
  </div>
  // 每个组件只能有一个根文件
</template>

// JS内容
<script>1
  // 暴露出去一个组件类实例对象 new 组件类()
  export default { // 可以在里面写上Vue的配置选项 内置的 直接用就可以
      // 数据
      data(){
        return {
          // 数据
        }
      },
      // 方法们
      methods:{

      }
  }
</script>

/* CSS内容 */
<style lang="less" scoped>
// lang="less"
// 阻止样式仅在当前组件内部有效
</style>

注意:

​ 推荐插件:

​ Vetur 颜色插件

​ Vue vscode snippets 快捷键插件

​ path 路径提示插件

5.0 Mustach胡须表达式

​ 语法:胡须表达式

{{ 表达式 }}    `${ 表达式 }`

var a = 10
表达式:
1.只能是一句代码,并且返回唯一的结果
2.只能存在赋值表达式右侧
举例:
{{ a }} 可以
{{ num1+num2+num3 }} 可以
{{ str.slice(0.5) }} 可以
{{ if(true){return 100} }} 不可以
{{ true?'1':'2' }} 可以
{{ arr.map(i=>i*10).join('-') }} 可以
{{ for(let i =0 ;i<10;i++){ console.log(i) } }}  不可以

6.0 指令

​ 作用:帮助我们操作DOM,渲染页面,不需要我们去操作

​ vue的指令是以v-xx开头的自定义属性

<标签 id="id" class='className' age="100" v-if="xx"  v-for="xxx"> </标签>

v-text 和 v-html

帮助我们渲染页面

​ v-text : 底层实现是textContent,渲染页面节点,不能识别标签

​ v-html: 底层实现是innerHTML ,渲染页面节点,可以识别标签

语法:
 <标签 v-text="表达式"></标签>

 <标签 v-html="表达式"></标签>

v-if 和 v-show

帮助我们根据条件渲染页面

​ v-show : 通过属性display的属性切换,来控制页面显示隐藏

​ v-if: 通过删除页面节点或重新渲染,来控制页面显示隐藏

语法:
 <标签 v-show="表达式"></标签>

 <标签 v-if="表达式"></标签>

v-if 和 v-else-if 和 v-else

帮助我们根据条件渲染页面,如果前面的条件已经满足,就不会执行后面的判断

跟我们JS中的if…else if 一样的使用

语法:
<标签 v-if="表达式"></标签>
<标签 v-else-if="表达式"></标签>
<标签 v-else="表达式"></标签>

v-for

帮助我们循环渲染列表数据

语法:
	<标签 v-for="值 in 数组">{{}}</标签>
	<标签 v-for="(值,索引) in 数组">{{}} {{ 索引 }}</标签>

	<标签 v-for="键值 in 对象">{{ 键值 }}</标签>
	<标签 v-for="(键值,键名) in 对象">{{ 键值 }}</标签>
	<标签 v-for="(键值,键名,索引) in 对象">{{ 键值 }}</标签>

v-model

帮助我们操作表单数据,让data里的数据与表单的数据双向绑定,不分你我,表单之王

v-model作用:获取表单里的数据,修改表单里的数据

<h1>白马会所VIP录入系统</h1>
      <div>
        姓名:<input  type="text" v-model="vip.name"/>
      </div>
      <div>
        性别:
        <input  type="radio" value="男" v-model="vip.sex"/><input  type="radio" value="女" v-model="vip.sex"/><input  type="radio" value="未知" v-model="vip.sex"/>未知
      </div>
      <div>
        技能:
          <select v-model="vip.skill">
            <option value="唱歌">唱歌</option>
            <option value="喝酒">喝酒</option>
            <option value="跳舞">跳舞</option>
          </select>
      </div>
      <div>
        爱好:
          <input type="checkbox" value="打麻将" v-model="vip.hobs"/> 打麻将
          <input type="checkbox" value="打游戏" v-model="vip.hobs"/> 打游戏
          <input type="checkbox" value="打扑克" v-model="vip.hobs"/> 打扑克
      </div>
      <div>
        介绍:<br/>
        <textarea rows="10" v-model="vip.desc"></textarea>
      </div>
      <button @click="fn">提交</button>

    <script>
      export default {
        // 数据
        data(){
          return {
            vip:{
              name:'',
              sex:'',
              skill:'',
              hobs:[],
              desc:''
            }
          }
        },
        // 方法们
        methods:{
          fn(){
            // console.log(this.vip)
            this.vip = {
              name:'张三',
              sex:'男',
              skill:'跳舞',
              hobs:['打扑克','打麻将'],
              desc:'这是一段信息'
            }
          }
        }
      }
    </script>

7.0 事件

在页面绑定事件 ,简写:@

v-on:事件类型="表达式"
v-on:事件类型="函数名"
v-on:事件类型="函数名(实参1,实参2,...)"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值