Vue工程创建及应用

news2024/9/22 7:38:01

🙈作者简介:练习时长两年半的Java up主
🙉个人主页:程序员老茶
🙊 ps:点赞👍是免费的,却可以让写博客的作者开兴好久好久😎
📚系列专栏:Java全栈,计算机系列(火速更新中)
💭 格言:种一棵树最好的时间是十年前,其次是现在
🏡动动小手,点个关注不迷路,感谢宝子们一键三连

目录

  • 课程名:Java
    • 内容/作用:知识点/设计/实验/作业/练习
    • 学习:Vue
  • Vue
    • 在HTML页面中使用Vue
    • 整理
  • Node.js
    • 概念
    • 使用
      • 1.下载安装
      • 2.在计算机中运行.js文件
  • 创建Vue工程
    • 准备环境
      • 1.安装Node.js
      • 2.安装npm
      • 3.修改npm默认下载资源的地址
      • 4.安装Vue工程脚手架工具vue cli
    • 使用vue cli创建第一个Vue工程
      • 1.启动图形化创建界面
      • 2.创建
  • 使用VSCode管理Vue工程
    • 常用插件
    • 常用设置
    • Vue工程目录
    • 运行Vue工程
    • 在创建好的Vue工程中自定义页面访问
      • 1.在views目录下,新建一个xxx.vue的文件
      • 2.在router目录下的index.js文件中,设置页面的请求映射
      • 3.在首页app.vue中设置访问链接
  • 在Vue工程中访问后端数据接口
    • axios
    • 1.在Vue工程中安装axios组件
    • 2.在页面的script标签中,引入axios模块后使用
  • 总结

课程名:Java

内容/作用:知识点/设计/实验/作业/练习

学习:Vue

Vue

基于JavaScript实现的一个前端框架,用于构建用户界面。

其最大的特点是响应式数据驱动。页面由数据生成,当数据改变,页面同步更新。

这样可以简化DOM操作,自动地由数据操作对应DOM元素。

官网Vue.js - 渐进式 JavaScript 框架 | Vue.js (vuejs.org)

在HTML页面中使用Vue

1.导入vue.js文件

安装 — Vue.js (vuejs.org)

下载后导入本地文件

<!-- 引入vue.js文件 -->
<script src="js/vue.min.js"></script>

2.在body中定义一个节点,添加id或class值

<div id="app">
    
</div>

3.在script标签中,创建一个Vue对象

<script>
    //创建Vue应用var app = new Vue({})
    var app = new Vue({
        el: "#app", //将创建的Vue应用绑定到对应的dom节点上
        //data属性用于定义该Vue应用中的所有数据
        data: {
            //一组键值对
            message: "Hello Vue!"
        }
    })
</script>

4.如果要在双标签中输出data中的数据

<div id="app">
    <h1>{{message}}</h1>
</div>

在浏览器的控制台中,输入app.message可以获取message的值。

输入app.message="内容"后回车,输入的内容就会在页面中动态改变。

整理

  • {{变量}}

    • 插值表达式,输出Vue应用中,在data里定义的数据到双标签的文本中
    <!-- 插值表达式 -->
    <h3>{{message}}</h3>
    <h3>{{person}}</h3>
    <h3>{{person.name}}</h3>
    
  • v-bind:属性=“变量”

    • 动态属性,动态修改某个标签某个属性的值
    • 可以简写为**:属性=“变量”**
    <!-- 动态属性值 v-bind:属性名="data中的变量"-->
    <h3 v-bind:title="message">悬停试试看</h3>
    <!-- 可以简写为 :属性名="data中的变量" -->
    <h3 :title="message" v-if="isShow">悬停试试看</h3>
    
  • v-if=“条件”

    • 条件满足,显示标签
    <ul>
        <li v-if="money<5">吃泡面</li>
        <li v-else-if="money<10">吃小面</li>
        <li v-else-if="money<15">吃炒菜</li>
        <li v-else>随便吃</li>
    </ul>
    
  • v-model=“变量”

    • 双向绑定
    <input placeholder="请输入金额" type="num" v-model="money"/>
    <h3>当前金额:{{money}}</h3>
    
  • v-show=“变量”

    变量通常为布尔值,如果是false,节点会加display:none,不显示节点但节点存在

    <!-- 显示/隐藏节点 -->
    <h1 v-show="isShow">一级标题</h1>
    
  • v-for=“(item,index) in list”

    <!-- 遍历 -->
    <select>
        <option v-for="(item,index) in nameList" :value="index">
            {{item}}
        </option>
    </select>
    
  • v-on:事件名=“函数”

    • 可以简写为**@事件名=“函数”**
    <!-- 绑定事件 -->
    <!-- <button v-on:click="showOrHide">{{btnText}}</button> -->
    <button @click="showOrHide">{{btnText}}</button>
    <div v-show="isShow" style="width: 150px;height: 150px;background-color: deepskyblue;"></div>
    
    <script>
        //创建Vue应用
        var app = new Vue({
            el: "#app", //将创建的Vue应用绑定到对应的dom节点上
            //data属性用于定义该Vue应用中的所有数据
            data: {
                isShow: true,
                btnText:"隐藏"
            },
            // 定义函数的区域
            methods: {
                //定义函数   函数名(参数){}
                showOrHide() {
                    //this表示当前vue应用,this.xxx表示data中的某个xxx
                    this.isShow=!this.isShow;
                    this.isShow?this.btnText="隐藏":this.btnText="显示";
                }
            }
        })
    </script>
    

Node.js

概念

JS如果只是运行在浏览器上的话,用于控制HTML元素的行为。

如果有一个能够脱离浏览器也能解析JS的运行环境,就能摆脱浏览器的束缚,使用JS进行服务端的开发。

浏览器之所以能够解析JS,是因为每个浏览器都有一个解析JS的引擎。

其中谷歌浏览器的V8引擎,是所有浏览器中性能最好的。

Node.js是一个基于V8引擎的JavaScript运行环境。

Node.js类似于Java中jvm。

使用

1.下载安装

Node.js官网Node.js (nodejs.org),如果要下载新版,最好是LTS版本(长期维护版).

如果要安装旧版本,Previous Releases | Node.js (nodejs.org)

安装成功后,在控制台中输入"node -v",显示Node.js版本

在这里插入图片描述

2.在计算机中运行.js文件

定义一个文本文档,更改后缀名为.js文件

console.log("hello node.js!")

在控制台进入.js文件所在路径,输入"node 文件名.js"运行
在这里插入图片描述

创建Vue工程

准备环境

1.安装Node.js

2.安装npm

npm是Node.js的默认包管理器,用于管理.js文件。类似于Java中的maven管理jar文件。

安装了Node.js后,自带了npm

  • 控制台中输入"npm -v"查看npm版本

  • 控制台中输入"npm config get registry"查看下载地址

3.修改npm默认下载资源的地址

  • 方式一:直接修改npm默认下载地址

    • 改为国内站点:淘宝npm镜像。在控制台中输入

      npm config set registry https://registry.npmmirror.com/

  • 方式二:添加新命令,如cnpm,设置其下载地址为国内站点

    npm install -g cnpm --registry https://registry.npmmirror.com/

    这样不会修改原始npm下载地址,之后通过cnpm指令使用国内站点下载

4.安装Vue工程脚手架工具vue cli

vue cli是搭建Vue工程的脚手架工具

在控制台中输入

安装:npm install -g @vue/cli

卸载:npm uninstall -g @vue/cli

查看版本:vue -V

使用vue cli创建第一个Vue工程

1.启动图形化创建界面

vue cli是一个可以通过图形界面创建Vue工程的工具。

选择Vue工程要创建的所在目录,进入控制台,

输入"vue ui",自动弹出浏览器窗口,进入Vue工程图形创建工具。

如果没有弹出浏览器或关闭了浏览器,可以自己打开浏览器输入localhost:8000

2.创建

在这里插入图片描述

输入项目文件名,不初始化git仓库
在这里插入图片描述

手动配置项目

在这里插入图片描述

勾选Router,去掉Linter/Formatter

在这里插入图片描述

选择2.x版本

在这里插入图片描述

是否要保存为模板

在这里插入图片描述

等待创建成功后,可以通过vue工程管理器运行项目。这里只需创建好即可。

在这里插入图片描述

使用VSCode管理Vue工程

VSCode并不是一个集成开发环境,只是一个编辑器。

Vue工程创建好后,直接将整个工程目录拖入VSCode中即可。

常用插件

中文界面

在这里插入图片描述

IDEA快捷键方案
在这里插入图片描述

Vue插件

在这里插入图片描述

内置服务器

在这里插入图片描述

如果要运行某个html页面,在页面上右键
在这里插入图片描述

选择运行

常用设置

自动保存

在这里插入图片描述

字体大小

在这里插入图片描述

主体

在这里插入图片描述

Vue工程目录

在这里插入图片描述

运行Vue工程

在这里插入图片描述

在下方弹出的控制台中,输入"npm run serve"

在这里插入图片描述

通过显示的路径访问Vue工程,Vue工程是一个单页面工程,默认主页

在这里插入图片描述

在创建好的Vue工程中自定义页面访问

1.在views目录下,新建一个xxx.vue的文件

.vue文件类似于java中的.java文件,在编译后生成最终页面

.vue文件中有三个标签

  • template
    • 该标签下只能有一个根标签
    • 在定义的根标签中,定义页面中的所有内容
  • script
    • 页面中的JS代码
  • style
    • 页面中的CSS代码
<template>
<!-- template下只能有一个根标签 -->
    <div>
        <h1 class="mh" :title="msg">{{ msg }}</h1>
    </div>
</template>

<style>
    /* 样式 */
    .mh {
        color: red;
    }
</style>

<script>
    /* js */
    export default {
        data() {
            return {
                //定义页面中的数据
                msg: "一段字符串"
            }
        }
    }
</script>

2.在router目录下的index.js文件中,设置页面的请求映射

import Vue from 'vue'
import VueRouter from 'vue-router'
import HomeView from '../views/HomeView.vue'

Vue.use(VueRouter)
// 路由表,实际是一个数组
//方式一:
//1.导入页面import HomeView from '../views/HomeView.vue'
//2.设置请求映射{path: '/',name: 'home',component: HomeView}
//方式二:
//{path: '/about',name: 'about',component: () => import('../views/AboutView.vue')}
const routes = [
    {
        path: '/',
        name: 'home',
        component: HomeView
    },
    {
        path: '/about',
        name: 'about',
        component: () => import('../views/AboutView.vue')
    },
    // path表示访问URL
    // name无关
    //component对应具体页面
    {
        path: '/myPage',
        name: 'myPage',
        component: () => import('../views/MyView.vue')
    }
]

const router = new VueRouter({
    routes
})

export default router

3.在首页app.vue中设置访问链接

<template>
<div id="app">
    <nav>
        <router-link to="/">Home</router-link> |
        <router-link to="/about">About</router-link> |
        <router-link to="/myPage">我的页面</router-link>
    </nav>
    <router-view/>
    </div>
</template>

在Vue工程中访问后端数据接口

axios

jquery中使用ajax异步请求后端接口

vue中使用axios异步请求后端接口

1.在Vue工程中安装axios组件

在当前项目的终端中输入

npm install axios

2.在页面的script标签中,引入axios模块后使用

<template>
<div>
    <table>
        <tr v-for="(item,index) in tableData">
            <td>{{item.属性}}</td>
    	</tr>
    </table>
</div>
</template>
<script>
    import axios from 'axios';
    export default{
        //页面每次方式时都会执行
        created(){
            //axios.get/post/delete/put("URL").then(res=>{res.data})
            axios.get("http://localhost:9090/customer").then(res=>{
                //res.data;就是对应controller的返回值
                //res.data.data是自定义的返回值中保存的数据
                this.tableData = res.data.data;
            });
            //then()表示访问后的回调函数,参数是一个函数
            //如果使用function(){}匿名函数,this不再是vue应用对象,不建议使用
            //使用箭头函数,()=>{},this就可以表示vue应用对象,从而获取定义在data中的数据
        },
        data(){
            return{
                tableData:[]
            }
        }
    }
</script>

总结

   好好学习,天天向上。

往期专栏
Java全栈开发
数据结构与算法
计算机组成原理
操作系统
数据库系统
物联网控制原理与技术

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

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

相关文章

Python Pandas之loc、iloc

df.loc 通过标签索引获取数据 df.iloc 通过位置索引获取数据

Airtest:Windows桌面应用自动化测试二【Airtest基于图像识别自动控制手机App流程】

Airtest基于图像识别自动控制手机App流程 一、Airtest基于图像识别自动控制手机App流程二、基于图像识别生成脚本有两种操作&#xff1a;三、Airtest基于Poco的UI组件自动化控制App流程四、Airtest实现手机群控操作 Airtest介绍与脚本入门 Airtest相关api操作 一、Airtest基于…

暑期学JavaScript【第三天】

事件流 很多时候&#xff0c;一个事件可能会被多个元素监听。那么这些元素应该按什么顺序响应呢&#xff1f;从父到子称为捕获&#xff0c;从子到父称为冒泡。 事件捕获 可选参数&#xff0c;true or fause&#xff0c;带true代表按捕获方式响应 obj.addEventListener(cli…

短视频seo源码部署打包分享---开源

功能概要&#xff1a; 1. 按关键词搜索账号排名 2. 按关键词布局查询视频排名 3. 按天计费功能开发 4. 达标天数及关键词数量统计 开发概要&#xff1a; 区别于其他开发者&#xff0c;同类产品多用第三方&#xff0c;如&#xff1a;站长之家&#xff0c;本系统代码开发使…

| 从头打造个人网站(超详细)

哈喽🤗,这篇博客从0开始教大家创建自己的网站,包含个人网站,商用网站等,并且提供模板类型,提供修改模块样本~ 看完本博客你将会收获: 一个想要的类型网站学习React解答过程中遇到的问题最终效果 那就开始吧👩‍💻👨‍💻 ********************************…

AutoSAR系列讲解(入门篇)4.9-BSW小结

首先&#xff0c;要恭喜各位&#xff0c;最为枯燥难懂的一章你已经看完了。也许现在你还是一头雾水&#xff0c;但是相信大部分人都差不多&#xff0c;不必着急&#xff0c;因为AutoSAR单纯看理论最终也就只能看到这个程度了。所以看不太懂的小伙伴在这里先给自己一个定位&…

POLARDB IMCI 白皮书 云原生HTAP 数据库系统 一 主体架构与接口

开头还是介绍一下群&#xff0c;如果感兴趣polardb ,mongodb ,mysql ,postgresql ,redis 等有问题&#xff0c;有需求都可以加群群内有各大数据库行业大咖&#xff0c;CTO&#xff0c;可以解决你的问题。加群请联系 liuaustin3 &#xff0c;在新加的朋友会分到2群&#xff08;共…

Python dict keys方法:获取字典中键的序列【将keys转为list】

描述 dict.keys()方法是Python的字典方法&#xff0c;它将字典中的所有键组成一个可迭代序列并返回。 使用示例 >>> list({Chinasoft:China, Microsoft:USA}.keys()) [Chinasoft, Microsoft] >>> test_dict {Chinasoft:China, Microsoft:USA, Sony:Japan,…

JetBrains goland、pycharm、webstorm、phpstorm 对比两文件内容是否一致

对比文件 JetBrains goland、pycharm、webstorm、phpstorm 对比两文件内容是否一致 第一种 打开文件&#xff0c;按住键盘上的CTRL键&#xff0c;然后鼠标右键&#xff0c;点击菜单中的”Compare with Clipboard”&#xff0c;左侧就可以粘贴文件内容对比 第二种 在编辑器窗口中…

MyBatis使用PageHelper插件实现分页查询

1.引入依赖 <dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId><version>5.3.1</version> </dependency>2.在mybatis-config.xml⽂件中配置插件 <plugins><plugin interce…

搭建Home Assistant智能家居系统 - 随时随地控制你的家庭设备「内网穿透」

文章目录 前言1. 安装Home Assistant2. 配置Home Assistant3. 安装cpolar内网穿透3.1 windows系统3.2 Linux系统3.3 macOS系统 4. 映射Home Assistant端口5. 公网访问Home Assistant6. 固定公网地址6.1 保留一个固定二级子域名6.2 配置固定二级子域名 转载自远程穿透的文章&…

用于保护虚拟机数据安全的VMware备份方案!

​什么是有效的VMware备份方案&#xff1f; ​由于操作风险、自然灾害、恶意软件攻击、停电等意外状况的影响&#xff0c;备份VMware虚拟机是很重要的&#xff0c;它可以有效防止出现数据丢失和业务中断的情况。 一般来说&#xff0c;有效的VMware备份方案通常应该具…

pikache靶场通关——SSRF攻击

文章目录 前言环境第一关、SSRF&#xff08;curl&#xff09;Step.1、http协议链接本地文件Step.2、file协议读取C盘下的配置文件Step.3、dict协议扫描内网其他主机的端口开放情况Step.4、使用burp扫描内网其他主机的端口开放情况Step.5、后端源码分析 第二关、SSRF(file_get_c…

09-C++学习笔记-文件操作

&#x1f4da; 输入输出流的概念 在C中&#xff0c;输入输出流是用于在程序和外部设备&#xff08;如键盘、显示器、文件等&#xff09;之间进行数据传输的机制。输入流用于从外部设备读取数据到程序中&#xff0c;输出流用于将程序中的数据输出到外部设备。 C中的输入输出流…

实现自定义exporter

1、实现自定义exporter 1.1 四种常用Metrics 1.1.1 Counter 连续增加不会减少的计数器&#xff0c;可以用于记录只增不减的类型&#xff0c;例如&#xff1a;网站访问人数&#xff0c;系统运行时间等。 对于 Counter 类型的指标&#xff0c;只包含一个increment()的方法&…

Eclipse中的实用工具之JUnit

&#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 接下来看看由辉辉所写的关于JUnit的相关操作吧 目录 &#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 是什么 为什么要用 怎么用 是什么 JUnit…

奇舞周刊第497期:解锁 PDF 文件:使用 JavaScript 和 Canvas 渲染 PDF 内容

记得点击文章末尾的“ 阅读原文 ”查看哟~ 下面先一起看下本期周刊 摘要 吧~ 奇舞推荐 ■ ■ ■ 解锁 PDF 文件&#xff1a;使用 JavaScript 和 Canvas 渲染 PDF 内容 最近研究了 Web 的 FileSystemAccess Api&#xff0c;它弥补了 Web 长期以来缺少的能力&#xff1a;操作用户…

《PyTorch深度学习实践》第九讲 多分类问题

b站刘二大人《PyTorch深度学习实践》课程第九讲多分类问题笔记与代码&#xff1a;https://www.bilibili.com/video/BV1Y7411d7Ys?p9&vd_sourceb17f113d28933824d753a0915d5e3a90 二分类问题中计算出 P ( y 1 ) P(y1) P(y1)即可直接得到 P ( y 0 ) P(y0) P(y0)&#xff0…

LeetCode 打卡day46-- 单词拆分和多重背包问题

一个人的朝圣 — LeetCode打卡第46天 知识总结 Leetcode 139. 单词拆分题目说明代码说明 知识总结 今天写了一道题目, 但是还挺难的, 而且是面试高频题目 还过了一遍多重背包问题. 多重背包与01背包的区别在于多重背包限制了物品的个数, 某些物品的个数可能不为1, 可以使用两…

Opencascade源码学习之模型算法_建模算法介绍

Opencascade源码学习之模型算法_建模算法介绍 介绍几何工具相交两曲线相交曲线曲面相交两曲面相交 插值Geom2dAPI_InterpolateGeomAPI_Interpolate 约束的直线和圆约束类型可用的线和圆的类型外部/内部直线的方向两个圆相切给定半径的圆与两个圆相切算法的类型 约束的曲线和曲面…