JavaWeb中的VUE快速入门

目录

概述:

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()内调用获取数据的方法。

 

posted @   昊月光华  阅读(41)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示