Vue快速入门

概念

  • Vue 是一套前端框架,免除JavaScript中的DOM操作,简化书写。
  • 基于MVVM(Model-View-ViewModel)思想,实现数据的双向绑定,将编程的关注点放在数据上
  • 基础代码
    • el指的是需要控制哪个区,即CSS选择器
    • data指的是数据模型,是一个对象
<script>
        new Vue({
            el: "#app",  //vue接管区域
            data: {           
            }
        })
    </script>

常用指令

  • 指令:HTML标签上带有 v-前缀 的特殊属性,不同指令不同含义。
  • 本文介绍了v-bind,v-model,v-on,v-if,v-show,-v-for六种不同的指令
v-bind
  • 概述:为HTML标签绑定属性值,如设置 href,css样式等
<!--为url标签绑定超链接-->
<a v-bind:href="url">超链接</a>
<!--简写-->
<a :href="url">超链接</a>
v-model
  • 概述
    • 绑定的数据回合表单元素值相关联
    • 绑定的数据等于表单元素的值(双向绑定)
<div id="app">
	<a :href="url">超链接</a>
	<!--为url进行绑定,当修改表格内容时,会改变url对应的超链接的值-->
	<input type="text" v-model="url">
</div>

<script>
        new Vue({
            el: "#app",  //vue接管区域
            data: {
                url: "https://www.baidu.com"
            },
            methods:{
                handle:function(){
                    alert("点击事件")
                }
            }
        })
    </script>

通过v-bind或v-model绑定的变量,需要在数据模型中声明

v-on
  • 概述:为HTML绑定事件
<!--为按钮绑定单击事件,触发handle()函数-->
<input type="button" value="按钮" v-on:click="handle"></input>
<!--简写-->
<input type="button" value="按钮" @click="handle"></input>
    <script>
        new Vue({
            el: "#app",  //vue接管区域
            data: {
                //略
            },
            methods:{
                handle:function(){
                    alert("点击事件")
                }
            }
        })
    </script>
v-if

条件性的渲染某元素,判定为true时渲染,否则不渲染
通常与v-else-if,v-else使用

	<div id="app">
年龄<input type="text" v-model="age">判定为
    <span v-if="age>=18">成人</span>
    <span v-else>儿童</span>
    </div>
</body>
<script>
    new Vue({
        el:"#app",
        data:{
            age:20
        },
        method:{}
    })            
v-show

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

  • v-show全部渲染,只是通过css样式中的display来选择是否展示
  • v-if是条件性的渲染,只渲染符合要求的条件
    <div id="app">
    年龄<input type="text" v-model="age">判定为
    <span v-show="age>=18">成人</span>
    <span v-show="age<18">儿童</span>
    </div>
</body>
<script>
    new Vue({
        el:"#app",
        data:{
            age:11
        },
        method:{}
    })
</script>
v-for
  • 列表渲染,遍历容器的元素或对象的属性
  • 语法:v-for="(item,index) in items,其中item指的是元素,items指的是数组,index指的是索引
    插值表达式
  • 形式:{{表达式}}}
    • 变量
    • 三元运算符
    • 函数调用
    • 算术运算
<body>
    <div id="app">
    <div v-for="(addr,index) in addrs">{{index+1}}:{{addr}}</div>
    </div>
</body>
<script>
    new Vue({
        el:"#app",
        data:{
            addrs:["北京","上海","深圳","杭州"]
        },
        methods:{
            }
    })
</script>

生命周期

  • 概念:指一个对象从创建到销毁的整个过程
  • 生命周期八个阶段:每触发一个生命周期事件,会自动执行一个生命周期方法(钩子)
状态阶段周期
beforeCreate创建前
created创建后
beforeMount挂载前
mounted挂载完成【重点】
beforeUpdate更新前
updated更新后
beforeDestroy销毁前
destroyed销毁后
  • 使用方法,在Vue对象中,与methods平级
<script>
        new Vue({
            el: "#app",  //vue接管区域
            data: {              
            },
            methods:{
                },
            mounted(){
            alert("挂载完成")
	            }   
            }
        })
    </script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值