Web前端-Vue

黑马程序员JavaWeb开发教程

文章目录

一、什么是Vue

1、Vue概念

  1. Vue 是一套前端框架,免除原生 JavaScript 中的 DOM 操作,简化书写
  2. 基于MVVM(Model-View-ViewModel)思想,实现数据的双向绑定,将编程的关注点放在数据上
  3. 官网:https://v2.cn.vuejs.org/
  • 框架是一个半成品软件,是一套可重用的、通用的、软件基础代码模型。基于框架进行开发,更加快捷、更加高效

2、Vue快速入门

(1)快速入门

  1. 新建 HTML 页面,引入 Vue.js 文件
  • 新建 js 文件夹,将 vue.js 复制到文件夹下

  1. 在 JS 代码区域,创建 Vue 核心对象,定义数据模型

  2. 编写视图

(2)插值表达式

  • 形式:{{表达式}}
  • 内容可以是
    • 变量
    • 三元运算符
    • 函数调用
    • 算术运算

三、Vue常用指令

1、常用指令

  • 指令:HTML 标签上带有v- 前缀的特殊属性,不同指令具有不同含义
  • 常用指令
    • v-bind:为HTML 标签绑定属性值,如设置href,css样式等
    • v-model:在表单元素上创建双向数据绑定
    • v-on:为HTML标签绑定时间
    • v-if:条件性的渲染某元素,判定为true时渲染,否则不渲染
    • v-else-if:条件性的渲染某元素,判定为true时渲染,否则不渲染
    • v-else:条件性的渲染某元素,判定为true时渲染,否则不渲染
    • v-show:根据条件展示某元素,区别在于切换的是display的值
    • v-for:列表渲染,遍历容器的元素或者对象的属性

2、指令使用详解

(1)v-bind

  • 为HTML 标签绑定属性值,如设置href,css样式等
  • 注意:通过v-bind 或者v-model 绑定的变量,必须在数据模型中声明
  1. 为 a 标签动态的绑定href

    Vue-常用指令
    复制代码
     <script>
         // 定义vue对象
         new Vue({
             el: "#app", // vue接管区域
             data: {
                 url: "https://itcast.cn"
             }
         })
     </script>

(2)v-model

  • 作用在表单元素上创建双向数据绑定

  • 注意:通过v-bind 或者v-model 绑定的变量,必须在数据模型中声明

    Vue-常用指令
    复制代码
      <script>
          // 定义vue对象
          new Vue({
              el: "#app", // vue接管区域
              data: {
                  url: "https://itcast.cn"
              }
          })
      </script>

(3)v-on

  • 为HTML 标签绑定事件
  1. 为按钮绑定单击事件

    复制代码
     <div id="app">
         <input type="button" value="按钮1" v-on:click="handle()">
         <input type="button" value="按钮2" @click="handle()"><!--简化写法-->
    
     </div>
     <script>
         new Vue({
             el: "#app",
             data: {},
             methods: {//在Vue中定义函数需要在methods中定义
                 handle: function () {
                     alert("我被点击了");
                 }
             }
    
         })
     </script>

(4)v-if、v-show

  • v-if、v-else-if、v-else:条件性的渲染某元素,判定为true时渲染,否则不渲染

  • v-show:根据条件展示某元素,区别在于切换的是display属性的值,也就是,如果不满足条件那么display:none

    经判定为: 年轻人(35及以下) 中年人(35-60) 老年人(60及以上)

    经判定为: 年轻人(35及以下) 中年人(35-60) 老年人(60及以上)
    复制代码
      <script>
          new Vue({
              el: "#app",
              data: {
                  age: 20
              },
              methods: {
    
              }
          })
    
      </script>

(5)v-for

复制代码
<!-- v-for指令 -->
    <div id="app">
        有索引的遍历
        <div v-for="(addr, index) in addrs">{{index+1}}:{{addr}}</div>
        <hr>
        没有索引的遍历
        <div v-for="addr in addrs">{{addr}}</div>
    </div>
    
    <script>
        new Vue({
            el: "#app",
            data: {
                addrs: ["北京", "上海", "广州", "深圳", "成都", "杭州"]
            }
        })
    </script>

四、Vue生命周期

1、生命周期概念

  • 生命周期:值一个对象从创建到销毁的整个过程
  • 生命周期的八个阶段:每触发一个生命周期事件,会自动执行一个生命周期方法(钩子)
    • beforeCreate:创建前
    • created:创建后
    • beforeMount:挂载前
    • mounted:挂载完成
    • beforeUpdate:更新前
    • updated:更新后
    • beforeDestory:销毁前
    • destoryed:销毁后

2、Vue生命周期的方法

  • 与methods平级,写一个方法即可
  • 对于 Java 程序来说掌握 mounted 方法即可,代表的是Vue挂载完成,后期会在mounted 的钩子方法当中来发送异步请求到服务端,来获取数据。
相关推荐
deli0071 小时前
32K 上下文塞满后,AI 最先忘掉什么?120 轮对话实测
前端
deli0072 小时前
手机拍灯为什么有一条条黑纹?PWM 240Hz 实测
前端
wangruofeng7 小时前
AI Models 1.1.0 发布,查大模型价格、对比模型和找 API 地址
前端·aigc·ai编程
wangruofeng7 小时前
给前端开发者的 100 个设计参考网站
前端·设计
星栈10 小时前
视频即代码,Remotion 能做什么、不能做什么
前端·音视频开发
广州华水科技10 小时前
单北斗GNSS位移监测系统的应用与技术解析
前端
用户479492835691510 小时前
从一句话或代码仓到可交互 HTML:开源 Agent 画图技能 Archify v3.2 实测与选型边界
前端·后端·面试
风骏时光牛马12 小时前
生成一个AI多模态标题,仅输出一条标题,无额外文字、问句、备选、配图、文案等任何附加内容,不需要其他的任务服务 只要标题。
前端
wangruofeng13 小时前
从 GIF 到 AVIF:网页图片格式演进与 2026 年选型指南
前端·架构
清晨Coding14 小时前
为什么用 React Developer Tools 查看组件树这么乱?
前端·react.js