简单了解Vue

14 篇文章 0 订阅

一. 简介

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

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

官网: https://cn.vuejs.org

二. 快速入门

  1. 创建HTML页面,引入Vue.js文件
  1. 在JS代码区域,创建Vue核心对象,进行数据绑定
<script>
    //创建Vue核心对象
    new Vue({
        el:"#app",
        data:function(){
            return{
                username:""
            }
        }
    });

</script>
  1. 编写视图
<div id="app">
    <input name="username" v-model="username">
    <!--插值表达式-->
    {{username}}
</div>
  1. 结果展示

在框内输入什么,框外视图也会实时对应改变

三.Vue的常用指令

指令: HTML标签上带有v-前缀的特殊属性, 不同指令具有不同的含义

v-bind 为HTML标签绑定属性值,如设置 href,css样式等

<!DOCTYPE html>
<html lang="en" xmlns:v-bind="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div id="app">

    <a v-bind:href="url">点击一下</a><br>
    <!--简化-->
    <a :href="url">点击一下</a>
</div>


<script src="js/vue.js"></script>
<script>
    //创建Vue核心对象
    new Vue({
        el:"#app",
        data:function(){
            return{
                username:"",
                url:"https://www.baidu.com"
            }
        }
    });

</script>
</body>
</html>

v-model 在表单元素上创建双向数据绑定

v-on 为HTML标签绑定事件

<!DOCTYPE html>
<html lang="en" xmlns:v-on="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div id="app">
    <input type="button" value="按钮"v-on:click="show()"><br>
    <input type="button" value="按钮"@click="show()">
</div>


<script src="js/vue.js"></script>
<script>
    //创建Vue核心对象
    new Vue({
        el:"#app",
        methods:{
            show(){
                alert("已点击");
            }
        }
    });

</script>
</body>
</html>
  • v-if 条件性的渲染某元素,判定为true时渲染,否则不渲染

  • v-else 条件性的渲染某元素,判定为true时渲染,否则不渲染

  • v-else-if 条件性的渲染某元素,判定为true时渲染,否则不渲染

v-show 根据条件展示某元素,区别在于切换的是display属性的值

<!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>

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}} <br>
    </div>

    <hr>
    <div v-for="(addr,i) in addrs">
        {{i+1}}--{{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:3,
                addrs:["北京","上海","西安"]
            }
        },
        methods:{
            show(){
                alert("我被点了...");
            }
        }
    });

</script>


</body>
</html>

四. Vue生命周期

  1. 生命周期的八个阶段: 每触发一个生命周期事件,会自动执行一个生命周期方法(钩子)
  1. 状态: 阶段周期
  1. beforeCreate: 创建前

  1. created: 创建后

  1. beforeMount: 载入前

  1. mounted: 挂载完成

  1. beforeUpdate: 更新前

  1. updated: 更新后

  1. beforeDestroy: 销毁前

  1. destroyed:: 销毁后

  1. mounted: 挂载完成, Vue初始化成功, HTML页面渲染成功--->发送异步请求,加载数据

  1. 代码
  1. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <div id="app"> <input name="username" v-model="username"> <!--插值表达式--> {{username}} </div> <script src="js/vue.js"></script> <script> //创建Vue核心对象 new Vue({ el:"#app", /*data:function(){ return{ username:"" } }*/ //简化 data(){ return{ username:"" } }, mounted(){ alert("加载完成") } }); </script> </body> </html>

效果展示

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值