Vue基础

Vue概述:

vue是一套用于构建用户界面的渐进式框架。简单,高效,生态丰富(插件多)。

扩展:前端的三大框架分别是React、Vue、Angular。

作者:尤雨溪

Vue简单用法:

创建:

html内容

    <div id="box">
        <h1>{{msg}}</h1>
    </div>

js内容

<script src="./js/vue.js"></script>
//在实例化vue前必须要把vue的js或链接引入
new Vue({
    el:"#box",//指定vue选择的范围(css选择器)
    data:{
         msg:"vue指定data的数据",
//
    }
})

注意:在创建实例化对象的时候要把符号规范,逗号不能省略。

使用:

文本渲染

v-text【指令是带有v-前缀的特殊符号,只会把内容放在该放的里面(若内容有div则以文本呈现)】

v-html【为了输出真正的HTML,可以把输进去的div等也加到内容里边】

{{表达式}}【所有数据绑定vue提供了完全的JavaScript表达式支持。】

属性渲染

v-bind:

给HTML标签动态绑定属性,v-bind指令可以用于响应式的更新HTML数据。

简写为

<div v-bind:color="#ccc">我是没有简化的v-bind</div>

 <div :color="#ccc">我是简化的v-bind</div>

 条件渲染

v-if【指令用于条件的渲染一块内容。这块内容只会在指令的表达式返回,true的时候才会渲染。】 

v-else-if【多重条件渲染】

v-show【根据条件展示元素 】

v-show和v-if的区别:

v-show是css方法隐藏(display),v-if移除dom节点方式隐藏(直接把这句话注释掉),如果频繁切换用v-show,如果不是频繁切换则用v-if。

列表渲染

 v-for【用这个v-for遍历,v-for指令根据数组的选项列表进行渲染。】

<li v-for="(item,index) in list">//list是需要遍历的对象

      {{item}}

</li>

data(){

      return{

       list:["对象1","对象2","对象3"]

      }
}

//index为索引

注:如果要添加index,需要用括号并且用逗号把item和index隔开。 

注:为了给Vue一个提示,能追踪每个节点的身份,重用重新排序现有元素,需要为每一项提供一个唯一的key。【一般不建议使用index作为key的值】

 监听事件

v-on【监听DOM事件】 

<button v-on:click="事件1"></button>

<button @click="事件1"></button>//简写为@click="事件1"

注:事件1可以是调用函数的名称,也可以是直接写需要干什么什么事情。

事件修饰符

.stop               阻止事件冒泡

.prevent          阻止默认事件 

.capture          捕获

.self                 自身元素触发

.once               执行一次

.passive          滚动立即触发,不等待滚动完成(移动端性能提升)

 按键修饰符

.enter           回车

.tab              制表

.delete         “删除”和“退格”键

.esc              取消

.space          空格

.up               

.down          

.left             

.right           

系统修饰符

 

按下相应按键时才触发鼠标或键盘事件的监听器。.enter  回车

ctrl

.alt

.shift

.meta 【Windows 徽标键 】

.exact    精确

鼠标按键修饰符

.left

.right

.middle

注:修饰符会限制处理函数仅响应特定的鼠标按钮。 

表单绑定 

v-model【绑定input上可以让v-model="msg"  msg与input内容值同步】 

表单修饰符

 .lazy                可以添加lazy修饰符,从而转为在change事件之后进行同步【一般为失焦才同步】

.number            输入值在同步过程中转为数字类型

.trim                  输入值在同步过程中过滤首尾空白

计算computed 

 对于包含响应式数据的复杂逻辑,应使用Vue里的计算属性【从现有数据计算出新的数据】

 

new Vue({
    computed: {		 
        msg: function() {						 
            return this.msg.split('').reverse().join('')//实现字符串反转
        }
    }
})
<div>{{msg}}</div>

注:计算computed中相应函数返回值为msg的值

监听watch

watch:{
    person:{
        handler(state){
            console.log(state);
            localStorage.setItem("age",this.person.age);//通过person内部改变触发这个监听事件
        },
        deep:true
    }
	 
}
//其中用handler与deep来辅助监听

 

 注:若直接监听这个数据不需要deep,deep默认值为false。

Class与Style

Vue操作元素的class与style 

//style绑定

<div :style="{ color: red, fontSize: fontSize + 'px' }"></div>

//class绑定

<div :class="[activeClass, errorClass]"></div>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值