JavaWeb中的VUE快速入门

news2025/1/10 22:49:29

目录

概述:

Vue的安装

Vue的常用指令

通过VUE高效提交表单调用接口请求

Vue的生命周期


概述:

Vue是一套前端框架,免除原生JavaScript中的DOM操作,简化书写。Vue为当前的国内前端主流框架,基于MVVM(Model-View-ViewModel)思想,实现数据的双向绑定,将编程关注点放在数据上。

Vue的安装

安装 — Vue.js (vuejs.org)

Vue的常用指令

  • v-bind   为HTML标签绑定属性值,如设置href,css样式等。
<a v-bind:href="url">测试url</a>  //v-bind:href没有空格,在2019的IDEA测试红色报错但没空格能运行,反而给了空格,不爆红却无法正常运行。 这里的url在data中进行定义。
  • v-model 在表单元素上创建双向数据绑定。
<input v-model = "state"> {{state}}
  • v-on  为HTML标签绑定事件
<input type="button" value="提交"@click="show"> //这种更为简洁

或者

<input type="button" value="提交"v-on:click="show">
  • v-if  v-else v-else-if v-show  条件性的渲染某元素,判定位true时渲染,否则不渲染。
<div v-if ="state ==2"> 为2时渲染</div>
  • v-show  根据条件展示某元素,区别在于切换的是display属性的值。
<div v-show="state==5">为5时display有效</div>
  • v-for 列表渲染,遍历容器的元素或者对象的属性。
<div v-for="(it,i) in my " align="center">{{i+1}},{{it}}</div> //my为自己定义的一个列表,i为序号,序号也就是下标,从0开始遍历.

通过VUE高效提交表单调用接口请求

利用VUE的数据绑定。以后无须通过document.getelement()方法获取。

在这之前,需要引入 VUE 和 AXIOS的JS文件。

<script src="./vue.js"></script>
<script src="./axios.js"></script>

 步骤:

  1. 创建VUE对象
  2. 创建表单
  3. 在data定义数据,方便与表单中的各个属性进行绑定,所以其值类型为 {} (貌似像JSON)
  4. 用VUE的v-on 为表单的提交绑定事件。可定义为在点击时调用一个函数。而这个函数放在VUE对象的methods中。

表单:

  <form>
        <!--      表单提交数据-->
        <input v-model="brands.name">
        {{brands.name}}
        <br>
        <input v-model="brands.pwd">
        {{brands.pwd}}
        <br>
        <input v-model="brands.url">
        {{brands.url}}
        <br>
<input type="button" value="提交"v-on:click="show">
    </form>

VUE对象: data中的brands对应表单里的brands,可以发现VUE对象根本未定义brands的任何属性。但其点击提交的回调函数经测试依然能准确获取。

需要注意的是AJAX请求内的this是windows对象,并不是我们所需要的vue对象,用临时变量在axios外指定为当前对象(也就为VUE对象)。

new Vue({
        el :"#app",
        data(){
            return {
                username: "",
                brands : {},
                my:  ["北京","上海","杭州"],
                url : "https://www.baidu.com",
                state : 4

            }
        },
        methods: {

            show(){

                let  _this =this;
                    axios({
                        method: "post",
                        url : "http://localhost:8080/test",
                        data: {
                              username : _this.brands.name,
                              pwd : _this.brands.pwd
                        }

                    }).then(function (f1) {

                            alert(f1.data)
                        })
                    }

            }

        })

整个测试代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>VUE-DEMO</title>
</head>
<body>

<div  id="app">

    <input v-model = "state"> {{state}}

    <div v-if ="state ==2"> 为2时渲染</div>
    <div v-if ="state ==3"> 为3时渲染</div>
    <div v-if ="state ==4"> 为4时渲染</div>
    <div v-show="state==5">为5时display有效</div>
<!--    v-for测试-->
    <div v-for="(it,i) in my " align="center">{{i+1}},{{it}}</div>


<!--    v-bind测试-->
    <a v-bind:href="url">测试url</a>

    <form>
        <!--      表单提交数据-->
        <input v-model="brands.name">
        {{brands.name}}
        <br>
        <input v-model="brands.pwd">
        {{brands.pwd}}
        <br>
        <input v-model="brands.url">
        {{brands.url}}
        <br>
<input type="button" value="提交"v-on:click="show">
    </form>






</div>





<script src="./vue.js"></script>
<script src="./axios.js"></script>




<script>

    new Vue({
        el :"#app",
        data(){
            return {
                username: "",
                brands : {},
                my:  ["北京","上海","杭州"],
                url : "https://www.baidu.com",
                state : 4

            }
        },
        methods: {

            show(){

                let  _this =this;
                    axios({
                        method: "post",
                        url : "http://localhost:8080/test",
                        data: {
                              username : _this.brands.name,
                              pwd : _this.brands.pwd
                        }

                    }).then(function (f1) {

                            alert(f1.data)
                        })
                    }

            }

        })



</script>

</body>
</html>

Vue的生命周期

引用黑马程序员课程的一节。

 通常,会使用它的mounted方法,它被调用时则说明HTML页面渲染完成,可用mounted()内调用获取数据的方法。

 

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

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

相关文章

kubernetes之pod详解

pod详解 文章目录pod详解Pod生命周期一、创建和终止二、 初始化容器Pod调度定向调度亲和性调度污点和容忍Pod生命周期 我们一般将pod对象从创建至终的这段时间范围称为pod的生命周期&#xff0c;它主要包含下面的过程&#xff1a; pod创建过程运行初始化容器&#xff08;init …

ByteX-shrink_r源码解析

背景 为什么要对R文件内联处理&#xff1f; 这里首先说一下Android R文件的产生&#xff0c;对于Android开发者我们都知道&#xff0c;当我们要使用要使用一些布局文件&#xff0c;drawable等其他资源时&#xff0c;可以直接用 R.id. R.drawble.等直接使用&#xff0c;而这个…

Redis 内存管理

前言 Redis 的同学应该都知道&#xff0c;它基于键值对&#xff08;key-value&#xff09;的内存数据库&#xff0c;所有数据存放在内存中&#xff0c;内存在 Redis 中扮演一个核心角色&#xff0c;所有的操作都是围绕它进行。我们在实际维护过程中经常会被问到如下问题&#x…

详解设计模式:组合模式

组合模式&#xff08;Composite Pattern&#xff09;&#xff0c;又叫部分整体模式&#xff0c;是 GoF 的 23 种设计模式中的一种结构型设计模式。 组合模式 是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象&#xff0c;用来表示部分以及整体层次。…

Codeforces Round #726 (Div. 2) E1. Erase and Extend (Easy Version)

翻译&#xff1a; 这是这个问题的简单版本。唯一的区别是&#x1d45b;和&#x1d458;上的约束。只有当所有版本的问题都解决了&#xff0c;你才能进行hack。 你有一个字符串&#x1d460;&#xff0c;你可以对它做两种类型的操作: 删除字符串的最后一个字符。 复制字符串:…

UI 智能化的原理和未来

本文将从 GUI 中用户体验的构建开始&#xff0c;用高质量、可调控、交互体验创新三个部分&#xff0c;分别介绍如何从传统 UI 一步步迈向 UI 智能化。最后&#xff0c;用如何实现 UI 智能化的一些思考收尾。 本文仅代表作者个人观点。前言&#xff1a;「UI 智能化才是用户体验的…

第十七章《MySQL数据库及SQL语言简介》第3节:数据库管理

17.2小节主要讲解的是MySQL数据库的下载、配置和安装。从严格意义来讲,17.2小节所做的工作是对“数据库管理系统”进行下载、安装和配置。本小节所要讲解的数据库管理是指如何用数据库管理系统新建、重命名和删除一个数据库。 程序员操作数据库管理系统主要有两种方式:1、通…

[附源码]Python计算机毕业设计SSM课程教学质量综合分析平台(程序+LW)

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

企业里使用最广泛的技术之一SparkSQL

声明&#xff1a; 文章中代码及相关语句为自己根据相应理解编写&#xff0c;文章中出现的相关图片为自己实践中的截图和相关技术对应的图片&#xff0c;若有相关异议&#xff0c;请联系删除。感谢。转载请注明出处&#xff0c;感谢。 By luoyepiaoxue2014 B站&#xff…

mybatis实战:一、mybatis入门(配置、一些问题的解决)

出自《MyBatis从入门到精通》刘增辉&#xff0c;精简 1.pom.xml 1.设置源码编码方式为 UTF -8 2.设置编译源代码的 JDK 版本 3.添加mybatis依赖 4.还需要添加会用到的 Log4j JUnit ySql 驱动的依赖。 <?xml version"1.0" encoding"UTF-8"?> <pr…

麻雀算法(SSA)优化长短期记忆神经网络的数据回归预测,SSA-LSTM回归预测,多输入单输出模型。

clear all; close all; clc; %% 导入数据 P_train xlsread(data,training set,B2&#xff1a;G191); T_train xlsread(data,training set,H2&#xff1a;H191); % 测试集——44个样本 P_testxlsread(data,test set,B2:G45); T_testxlsread(data,test set,H2:H45); %% 优化参…

简单封装一个易拓展的Dialog

Dialog&#xff0c;每个项目中多多少少都会用到&#xff0c;肯定也会有自己的一套封装逻辑&#xff0c;无论如何封装&#xff0c;都是奔着简单复用的思想&#xff0c;有的是深层次的封装&#xff0c;也就是把相关的UI效果直接封装好&#xff0c;暴露可以修改的属性和方法&#…

【MySQL】数据库备份与容灾详解(实战篇)(MySQL专栏启动)

&#x1f4eb;作者简介&#xff1a;小明java问道之路&#xff0c;专注于研究 Java/ Liunx内核/ C及汇编/计算机底层原理/源码&#xff0c;就职于大型金融公司后端高级工程师&#xff0c;擅长交易领域的高安全/可用/并发/性能的架构设计与演进、系统优化与稳定性建设。 &#x1…

优质短视频的10个共同点,戳中两个就能提高爆款几率!

优质短视频的10个共同点&#xff0c;戳中两个就能提高爆款几率&#xff01; 01、引起共鸣和认同 : 观念、遭遇和经历 昨天随便搞了一个表情&#xff0c;配了一段核酸是辛酸的文案&#xff0c;30w播放。这就是共鸣。 02、引起好奇 :为什么、什么、何时、惊喜 ; 疑问或者悬疑式…

unity webgl开发踩坑——从开发、发布到优化

目录前言unity webgl的一些注意点videoplayer修改text修改——解决不能显示汉字问题制作、读取ab包unity audioclip减小建议减小包体 全过程记录webgl的buildwebgl部署到本地、云&#xff08;IIS&#xff09;webgl部署云如何提升加载速度总结参考前言 又是一个阳光明媚的早上&…

双十二买什么牌子电容笔?值得买的平价电容笔推荐

随着网络的迅速发展&#xff0c;人们开始使用移动电话、平板、笔记本电脑等。所以&#xff0c;在我们的日常生活中&#xff0c;电容笔的使用也日益频繁。我想&#xff0c;如果只把电容笔用在日常学习、记录或者其它一些简单的事情上&#xff0c;我们就不必再去买一支价格如此昂…

mp3转wav怎么转?

mp3可谓是被人们熟知的一种音频格式了&#xff0c;早在十几年前就出了一种很流行的音乐播放器&#xff0c;叫做mp3&#xff0c;其实是这种比播放设备只能播mp3格式的音频文件而已&#xff0c;所以俗称叫做mp3。这个就足以说明了mp3格式的音频文件应用的广泛性和普及性。mp3之所…

智云通CRM:CRM数据库在经营客户中有什么作用?

CRM客户数据库是信息的存储中心&#xff0c;由一条条记录构成&#xff0c;记载着相互联系的一组信息&#xff0c;数据库是面向主题的、集成的、相对稳定的、与时间相关的数据集合&#xff0c;能够及时反映市场的实际状况&#xff0c;是企业掌握市场的重要途径。 CRM客户数据库…

[附源码]计算机毕业设计springboot居家养老服务系统小程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

[附源码]计算机毕业设计JAVA闲置物品交易管理系统

[附源码]计算机毕业设计JAVA闲置物品交易管理系统 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM my…