第八章认识 Vue.js基础

news2024/12/26 0:36:48

vue.js 是一套用于构建用户界面的渐进式前端框架

vue.js 核心实现:

相应式的数据绑定:当数据发生改变,视图可以自动更新,不用关心DOM操作,而转型数据库操作
可组合的视图组件:把视图按照功能切分成若干的基本单元,可维护,可重用,可测试

官网

https://v3.cn.vuejs.org/

使用 vue的四种方式

1.在HTML中以CDN包的形式导入
2.下载JS文件保存到本地在导入
3.使用npm安装
4.使用vuecli脚手架构建项目

1.0 通过cdn 使用js

1.1 导入js

在这里插入图片描述

https://cn.vuejs.org/guide/quick-start.html#using-vue-from-cdn
wget  https://unpkg.com/vue@3.2.47/dist/vue.global.js

1.2 案例一 简单引用配置

在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="./vue.global.js"></script>

</head>
<body>
    <div id="hello-vue">
        {{message}}   <!--//引用变量 -->
    </div>
    <script>
        const hellovueapp = {
            data() {
                return {
                    message: 'hello vue!'  //变量名和值
                }
            }
        }
        Vue.createApp(hellovueapp).mount('#hello-vue')
    </script>
</body>
</html>

1.2 案例二数据自增长

在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="./vue.global.js"></script>

</head>
<body>
    <div id="hello-vue">
        {{counter}}   <!--//引用变量 -->
    </div>
    <script>
        const hellovueapp = {
            data() {
                return {
                    counter: 0
                }
            },
            //打开页面执行的函数
            mounted() {
                setInterval(()=> {  // ()=> 周期性执行递加
                    this.counter++
                },100)
            }
        }
        Vue.createApp(hellovueapp).mount('#hello-vue')
    </script>
</body>
</html>

2.0 指令介绍

指令: 带有v- 前缀的特殊属性
指令左右:当表达式的值改变时,将其产生的连带影响,相应式地作用于DOM。

3.0 Vue CIi脚手架介绍使用

Vue CIi 是一个基于Vue.js 进行快速开发的完整系统,提供:

 通过@vue/cli实现的交互式的项目脚手架。
 通过@vue/cli + @vue/cli-server-global实现的零配置原型开发。
 一个运行时依赖(@vue/cli-service),该依赖:
 可升级
 基于webpack构建,并带有合理的默认配置
 可以通过项目内的配置文件进行配置:
 可以通过插件进行扩展

3.1 安装npm环境在这里插入图片描述

http://nodejs.cn/download/  #官网下载
npm version   #检查安装版本
npm  config set  registry https://registry.npm.taobao.org --global  #配置源
npm config get  registry  #设置生效
npm config list  #查看

在这里插入图片描述

3.2 安装 vue cli 脚手架

在这里插入图片描述
创建项目

vue create  hello-vue  #创建项目
cd hello-vue
npm run serve   #启动项目
npm   install vue-router@4 -g  #安装路由插件
vue  add  router  #添加路由

在这里插入图片描述
也可以直接使用pycharm直接创建项目,如图所示
在这里插入图片描述
在这里插入图片描述

3.3 配置文件详解

在这里插入图片描述
组件
一段独立的能滴阿标页面某一个部分的代码片段,拥有独立的数据javascript脚本以及css样式
组件时可服用的vue实例,把精彩重复的功能封装成组件达到快速开发的目的
组件的好处

提高考分效率
方便重复使用
易于管理和维护

.vue文件配置说明

在这里插入图片描述

<templater> 定义组件的模版
<script> 标准的javascript模块,它应该到处一个vue组件定义作为默认的导出。
<style> 部分定义了于此相关的css样式

组件使用

在这里插入图片描述

创建一个子组件

创建一个新vue页面
在这里插入图片描述
添加路由
在这里插入图片描述
配置根路径导航
在这里插入图片描述
最终实现
在这里插入图片描述
组件的使用流程:

1. 在src/components目录里开发一个组件(首字母大写)
2. 在父组件里引用子组件import xxx from 'xxx'
3. 在默认导出注册组件
4. 在template模版里使用组件

在这里插入图片描述
以上是局部注册
全局注册:声明一次,在任何vue文件模版中使用
局部注册在使用组件的vue文件中声明和使用
在这里插入图片描述
全局注册后可以直接引用配置文件

传参

学习组件用法就像嵌套引用关系,在这个关系中经常涉及数据相互传递 即父传子组件,子组件传父组件,prop向下传递,事件向上传递`
父传子

在默认页面中也用到了父传子,在父组件Home.vue中给引用的组件传入一个静态的值,子组件通过props属性接收,并在模版中使用
在这里插入图片描述
子传父
在这里插入图片描述
Axios 介绍
在前端页面展示的数据通过api获取获取的方法有,vue-resource是vue插件v3版本不在更新,主流axios,axios是一个http请求库

jquery ajax,   #前后端不分离用的,纯html页面 
vue-resource,  #官网插件
axios    #前后端分离

官方文档

http://www.axios-js.com/zh-cn/docs/

使用流程

1. 安装axios: npm install axios
2. 在main.js文件中全局注册
3. 在组件中使用
import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
import axios from "axios";

const app = createApp(App);
axios.defaults.baseURL = 'http://www.aliangedu.com/'  //设置默认域名
axios.defaults.timeout = 5000
app.config.globalProperties.$axios = axios;  // 配置全局使用axios
app.use(router).mount('#app');

在这里插入图片描述
在这里插入图片描述

Axios自定义实例默认值

1.创建 src/api/https.js,定义实例
在这里插入图片描述
2.0 全局注册
在这里插入图片描述
3.0使用
在这里插入图片描述

Axios 拦截器

拦截器可以拦截每一次请求和响应,然后进行相应的处理
请求拦截应用创建

1.发起请求前加header
2.处理统一的api响应状态吗200或者非200提示消息
3.处理统一的catch异常提示消息

在这里插入图片描述
在这里插入图片描述

vue Router介绍

使用流程

1.开发页面(组件)
2.定义路由
3.组件使用路由

在这里插入图片描述
router路由有两种加载方式
方式一 先导入,后加载
在这里插入图片描述

方式二,访问的时候再加载
在这里插入图片描述

vue Router 路由传参
URL传参数:用于页面跳转,将当前页面数据传递到新页面
params传参

1.配置路由:{path: '/user/:id',component:about}
2.传递方式: <router-link to= "/user/6/"> </router-link>
3传递后路径:/user/6
4.接收参数:$router.params.id

query传参
1.配置路由:{path: ‘/user/’,component:about}
2.传递方式: <router-link to= {path: '/about ',query:{id:6}}>
3传递后路径:/user?id=6
4.接收参数:$router.query.id

vue Router导航守卫

在网站开发过程中一个普片需求,登陆验证,即在登陆的情况下才能访问任何页面否则跳转到首页
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/352783.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vr电力刀闸事故应急演练实训系统开发

电力事故是在电力生产和输电过程中可能发生的意外事件&#xff0c;它们可能会对人们的生命财产安全造成严重的威胁。因此&#xff0c;电力事故应急演练显得尤为重要。而VR技术则可以为电力事故应急演练提供一种全新的解决方案。 在虚拟环境中&#xff0c;元宇宙VR会模拟各种触电…

07 react+echart+大屏

reactechart大屏大屏ECharts 图表实际步骤React Typescript搭建大屏项目&#xff0c;并实现屏幕适配flexible rem实现适配1. 安装插件对echarts进行的React封装&#xff0c;可以用于React项目中&#xff0c;支持JS、TS如何使用完整例子官网参考大屏 ECharts 图表 ECharts 图…

【Java基础】泛型(二)-泛型的难点:通配符

本文将尝试将通配符和泛型中的继承&#xff0c;多态一并讲解 关于泛型中继承的注意事项 因为Integer、Double继承了Number&#xff0c;根据多态性&#xff0c;以下语句是合法的 Number n new Integer(10); // OK, 父类引用变量可以指向子类对象 n 2.9 // OK&#xff0c;n实…

Mac-Charles

Charles是什么 HTTP代理服务器&#xff0c;HTTP监视器 Charles可以当作一个代理服务器 当浏览器链接这个代理服务器的时候 Charles会监控浏览器发出和接收的所有数据(reques,response,HTTP Headers(cookies和cash)) 反转代理器 Charles主要功能、 1.SSL代理 2.模拟慢速网络…

双目立体视觉:SAD算法

算法原理SAD(Sum of absolute differences)是一种图像匹配算法。基本思想&#xff1a;差的绝对值之和。此算法常用于图像块匹配&#xff0c;将每个像素对应数值之差的绝对值求和&#xff0c;据此评估两个图像块的相似度。该算法快速、但并不精确&#xff0c;通常用于多级处理的…

如何在Power Virtual Agents中实现身份验证

今天我们介绍一下如何通过身份验证的方式来使用Power Virtual Agents。首先进入“Microsoft 365-管理-Azure Active Directory管理中心”。 进入“Azure Active Directory管理中心”后选择“Azure Active Directory”中的“应用注册”-“新注册”。 输入新创建的应用程序名称后…

XXL-JOB分布式任务调度框架(一)-基础入门

文章目录1.什么是任务调度2.常见定时任务方案2.1. 传统定时任务方案示例2.2. 缺点分析3.什么是分布式任务调度&#xff1f;3.1. 并行任务调度3.2. 高可用3.3. 弹性扩容3.4. 任务管理与监测4.市面上常见的分布式任务调度产品5.初识xxl-job6.xxl-job架构设计6.1.设计思想6.2.架构…

程序人生 - 学习和分享

文章目录记于 230217学习安排泛学AI 和 未来记于 230217 刚入行时&#xff0c;经常看到技术博客中&#xff0c;博主们分享生活&#xff0c;比如相亲、上班生活&#xff0c;甚至还有人发结婚照。这个栏目通常被称为&#xff1a;程序人生。 这个现象已经很久没看到了&#xff0c…

BFC 是什么

在页面布局的时候&#xff0c;经常出现以下情况&#xff1a; 这个元素高度怎么没了&#xff1f;这两栏布局怎么没法自适应&#xff1f;这两个元素的间距怎么有点奇怪的样子&#xff1f;...... 原因是元素之间相互的影响&#xff0c;导致了意料之外的情况&#xff0c;这里就涉及…

吴恩达深度学习笔记(八)——卷积神经网络(上)

一、卷积相关 用一个ff的过滤器卷积一个nn的图像&#xff0c;假如padding为p&#xff0c;步幅为s&#xff0c;输出大小则为&#xff1a; [n2p−fs1][n2p−fs1][\frac{n2p-f}{s}1][\frac{n2p-f}{s}1][sn2p−f​1][sn2p−f​1] []表示向下取整&#xff08;floor) 大部分深度学习…

Unreal Engine04:Visual Studio和Editor的协同开发

写在前面 这里主要是记录一下Visual Studio和Editor之间的关系和如何使用它们进行UE4协同开发。 一、启动 1. 先启动Visual Studio再启动Editor (1) 打开项目根目录下的xxx.sln解决方案&#xff0c;即可启动Visual Studio&#xff0c;这个是和普通的C项目打开方式相同的&…

2023美国大学生数学建模竞赛C题思路解析(含代码+数据可视化)

以下为2023美国大学生数学建模竞赛C题思路解析&#xff08;含代码数据可视化&#xff09;规则&#xff1a;猜词&#xff0c;字母猜对&#xff0c;位置不对为黄色&#xff0c;位置对为绿色&#xff0c;两者皆不对为灰色。困难模式下的要求&#xff1a;对于猜对的字母&#xff08…

RBAC权限模型

什么是RBAC权限模型&#xff1f; RBAC是基于角色的访问控制&#xff0c;在RBAC中&#xff0c;权限与角色相关联&#xff0c;用户通过成为适当角色的成员而得到这些角色的权限。 1.0级 用户、角色、权限 2.0 权限分级 公司>部门>小组 2.1 权限继承 ps: 这个人是一个小组长…

Java调用Selenium实现自动化测试

Selenium测试直接运行在浏览器中&#xff0c;就像真正的用户在操作一样。支持的浏览器包括IE&#xff08;7, 8, 9, 10, 11&#xff09;&#xff0c;Mozilla Firefox&#xff0c;Safari&#xff0c;Google Chrome&#xff0c;Opera等。 Selenium简介 Selenium是一个用于Web应用…

Spring MVC 之Tomcat启动流程

从web.xml说起在开始 Spring MVC 的分析之前&#xff0c;先来聊一聊 Java 初学者接触的最多的 Java Web 基础。还记得我的第一个 Web 工程是由 Servlet、Velocity 和 Filter 来完成的&#xff0c;那时几乎所有人都是根据 Servlet、JSP 和 Filter 来编写自己的第一个 Hello Worl…

Java基本语法

目录 一、注释方式 1、单行注释 // 2、多行注释 /*...*/ 3、文档注释 /**....*/ 二、标识符和关键字 三、数据类型 拓展及面试题讲解 1、整数拓展 进制 二进制0b 八进制0 十六进制0x 2、字符拓展 编码Unicode表 2字节 0~65536 3、字符串拓展 4、布尔值拓展 一、注释方式…

可视化已编译Java类文件字节码的神器jclasslib

概述作为Java工程师的你曾被伤害过吗&#xff1f;你是否也遇到过这些问题&#xff1f;运行着的线上系统突然卡死&#xff0c;系统无法访问&#xff0c;甚至直接OOM想解决线上JVM GC问题&#xff0c;但却无从下手新项目上线&#xff0c;对各种JVM参数设置一脸茫然&#xff0c;直…

基于树莓派的智能家居项目整理

一、功能介绍 二、设计框图 三、实物展示 四、程序 一、功能介绍硬件&#xff1a;树莓派3B、LD3320语音识别模块、pi 摄像头、继电器组、小灯、火焰传感器、蜂鸣器、电 磁锁 项目框架&#xff1a; 采用了简单工厂模式的一个设计方式。稳定&#xff0c;拓展性…

2023美赛ABCDEF题思路+参考文献+代码

选题建议、ABCDEF题参考文献、ABCDEF题思路&#xff08;后续更新视频和代码&#xff09;、D题数据、数据集及处理方式已更新&#xff0c;其他日内更新。下文包含&#xff1a;2023年美国大学生数学建模竞赛&#xff08;以下简称美赛&#xff09;A - F题思路解析、选题建议、代码…

插件开发版|Authing 结合 APISIX 实现统一可配置 API 权限网关

当开发者在构建网站、移动设备或物联网应用程序时&#xff0c;API 网关作为微服务架构中不可或缺的控制组件&#xff0c;是流量的核心进出口。通过有效的权限管控&#xff0c;可以实现认证授权、监控分析等功能&#xff0c;提高 API 的安全性、可用性、拓展性以及优化 API 性能…