Vue 光速入门(JavaWeb)

目录

一.Vue概述与快速入门

1.新建HTML页面,引入Vue.js文件

2.在js代码区域,创建Vue核心对象,进行数据绑定(三种方式)

 3.编写视图

4.显示效果(在input内写入文字,插值表达式会自动在旁边显示,写啥显示啥)

 二.Vue的常用指令

1.v-bind 

2.v-model

3.v-on

5.v-for

三.Vue的生命周期


 


一.Vue概述与快速入门

概述:

1.Vue是一套前端框架,免除了原生Javascript中的DOM操作,简化书写

2.Vue基于MVVM(Model-View-ViewModel)思想,实现数据的双向绑定,将编程的关注点放在数据上

3.下面的小案例是如何实现数的绑定

1.新建HTML页面,引入Vue.js文件

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

2.在js代码区域,创建Vue核心对象,进行数据绑定(三种方式)

方式一:

 new Vue({
        el:"#app", //el用来指定vue的作用范围,里面是用id选择器来选定id为app的....
        data(){
            return{
                username:""
            }
        }
});

方式二:

 new Vue({
            el:"#app", 
            data:{username:""}
});

方式三:

 new Vue({
            el:"#app", 
            data:function (){
            return{
                    username:""
            }
        }
});
            

 3.编写视图

<div id="app">
    <input v-model="username">
<!--插值表达式-->
    {{username}}
</div>

4.显示效果(在input内写入文字,插值表达式会自动在旁边显示,写啥显示啥)

 二.Vue的常用指令

1.指令:HTML标签上带有v-前缀的特殊属性,不同的指令具有不同的涵义,例如v-if,v-for

2.常用指令:

指令作用
v-bind为HTML标签绑定属性值,如设置href,css样式等
v-model在表单元素上设置双向数据绑定
v-on为HTML标签绑定事件
v-if条件性的渲染某元素,判断true是渲染,否则不渲染
v-else条件性的渲染某元素,判断true是渲染,否则不渲染
v-else-if条件性的渲染某元素,判断true是渲染,否则不渲染
v-show根据条件显示某元素,区别在于切换的是display属性的值
v-for列表渲染,遍历容器的元素或者对象的属性

1.v-bind 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<!--1.引入文件-->
<script src="js/vue.js"></script>
<body>

<div id="app">
<a v-bind:href="url">点击一下</a>
<!--简化版-->
    <a :href="url">再点击一下</a>
<input v-model="url"><!--实现数据的双向绑定,更改url-->
</div>

<script>
    new Vue({
        el:"#app",
        data(){
            return{
                username:"",
                url:"https://www.baidu.com"
            }
        }
    });
</script>
</body>
</html>

2.v-model

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

<div id="app">
    <input v-model="username">
<!--插值表达式-->
    {{username}}
</div>
<!--1.引入文件-->
<script src="js/vue.js"></script>

<script>
    <!--2.创建vue核心对象(第一种方式)中等复杂度-->
    new Vue({
        el:"#app", //el用来指定vue的作用范围,里面是用id选择器来选定id为app的....
        data(){
            return{
                username:""
            }
        }
    });
</script>
</body>
</html>

3.v-on

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<!--1.引入文件-->
<script src="js/vue.js"></script>
<body>

<div id="app">
<input type="button" value="确认按钮" v-on:click="show()">
<input type="button" value="再次确认按钮" @click="show()">
</div>

<script>
    new Vue({
        el:"#app",
        data(){
            return{
                username:"",
                url:"https://www.baidu.com"
            }
        },
        methods: {
            show(){
                alert("已点击")
            }
        }
    });
</script>
</body>
</html>

4.v-if,v-else,v-else-if


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div id="app">

    <div v-if="count == 3">div1</div>
    <div v-else-if="count == 4">div2</div>
    <div v-else>div3</div>
    <hr>
    <div v-show="count == 3">div v-show</div>
    <br>
    <input v-model="count">
</div>

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

    //1. 创建Vue核心对象
    new Vue({
        el:"#app",
        data(){
            return {
                username:"",
                url:"https://www.baidu.com",
                count:3
            }
        },
        methods:{
            show(){
                alert("我被点了...");
            }
        }
    });

</script>


</body>
</html>

5.v-for


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div id="app">
    <div v-for="addr in addrs">
        {{addr}}
    </div>
<hr>
    <div v-for="(addr,i)in addrs">
<!--i表示索引-->
        {{i}}+{{addr}}<br>
    </div>
</div>

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

    //1. 创建Vue核心对象
    new Vue({
        el:"#app",
        data(){
            return {
                username:"",
                url:"https://www.baidu.com",
                count:'',
                addrs:[1,2,3,4,5]
            }
        },
        methods:{
            show(){
                alert("我被点了...");
            }
        }
    });

</script>


</body>
</html>

三.Vue的生命周期

生命周期的八个阶段(在后期springBoot的时候会详细学习):每触发一个生命周期事件,会自动执行一个生命周期方法(钩子)

状态阶段周期
beforeCreate创建前
created创建后
beforeMount载入前
mounted挂载完成
beforeUpdate更新前                
updated更新后
beforeDestroy销毁前
destroyed销毁后

我们在学习Vue的时候,只需要知道一个就是mounted:挂载完成,Vue初始化成功,HTML页面渲染成功(发送异步请求,加载数据)

实例:


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div id="app">
    <div v-for="addr in addrs">
        {{addr}}
    </div>

</div>

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

    //1. 创建Vue核心对象
    //在此data与mounted的方法都是简化书写的,为了更简便的观看
    new Vue({
        el:"#app",
        data(){
            return {
                username:"",
                url:"https://www.baidu.com",
                count:'',
                addrs:[1,2,3,4,5]
            }
        },
        methods:{
            show(){
                alert("我被点了...");
            }
        },
      /*  完整书写
         mounted:function (){

        },*/
        mounted(){
            alert("加载完成...");
        }
    });

</script>


</body>
</html>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

看到我,请让我去学习

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值