zoukankan      html  css  js  c++  java
  • Vue-基础(三)

    v-cloak:用于解决插值表达式的”闪动“问题,原理是先隐藏内容,在内存中进行值的替换,替换好值后再显示最终效果;

      用法:

    /*1.提供CSS样式*/
    [c-cloak]{
      display:nonel    
    }
    /*2.在插值表达式所在标签添加指令*/
    <div v-cloak>{{msg}}</div>

    v-text:填充纯文本,对比插值表达式来说无”闪动“问题

    <div v-text="msg"></div>  //msg:Hello Vue  //显示:Hello Vue

    v-html:填充HTML片段,但存在安全问题、本网站内部数据可以使用,来自第三方的数据不可以

    <div v-html="msg"><div> //msg:<h1>Hello Vue</h1>  //显示:Hello Vue(h1样式)

    v-pre:填充原始信息,显示原始信息,跳过编译过程

    <div v-pre>{{msg}}</div>  //显示:msg

    数据响应式:当数据发生变化时,页面内容也会发生变化;

    数据绑定:将数据填充到标签中;

    v-once:该数据只编译一次,即显示内容之后不再具有响应式功能;

        使用环境:用于不需要再做修改的信息,这样可以提高性能

    <div v-once>{{msg}}</div>  //msg:Hello  //显示:Hello 
    //修改msg值为Vue,显示依旧为Hello

    双向数据绑定:让其数据层和视图层的数据同步,视图层数据能够进行实时更新;

    v-model:可以实现双向数据绑定

    <div >{{msg}}</div>
    <input type="text" v-model="msg">

    MVVM设计思想:Model-View-ViewModel,由MVC模式衍生而来,到View视图层变化时,会自动更新到ViewModel(视图模式)View和ViewModel之间通过双向绑定(data-binding)建立联系。

    • M(model)
    • V(view)
    • VM(view-model)

    v-on:可用于处理事件绑定,可用@来表示简写

    <input type="button" v-on:click="num++" />
    <!--简写形式-->
    <input type="button" @click="num++" />
    <!--直接绑定行数名称-->
    <input type="button" @click="say">
    <!--调用函数-->
    <iniput type="button" @click="say()">
    <!--事件函数参数传递-->
    <input type="button" @click="say("msg,$event")">

    其中事件绑定函数调用,则事件对象须作为最后一个参数;事件直接绑定函数名称,则默认会传递事件对象作为事件函数的第一个参数;事件对象必须为$event

    事件修饰符:事件修饰符可以串联,并且有先后顺序;可查询文档查看更多修饰符

    <!--.stop 阻止冒泡-->
    <a @click.stop="handle">跳转</a>
    <!--.prevent 阻止默认行为-->
    <a @click.prevent="handle">跳转</a>

     按键修饰符:可以给按键添加执行事件函数,可查询文档查看更多修饰符 

    <!--.enter 回车键-->
    <input @keyup.enter="submit">
    <!--.delete 删除键-->
    <input @keyup.delete="handle">
    /*自定义按键修饰符*/
    //使用全局config.keyCodes对象,Vue.config.keyCodes.名=按键编号
    Vue.config.keyCodes.f1 = 112

    v-bind:通过v-bind绑定数据,从而实现动态处理属性,缩写可用:表示;

    <a v-bind:href="url">跳转</a> //url值可在vue实例中设置
    <!--缩写-->
    <a :href="url">跳转</a>

    v-model的底层实现原理分析:

    <input :value="msg" @input="msg=$event.targt.value">

    样式绑定:

    • class样式处理:
    <!--对象语法-->
    <div :class="{active:isActive,error:isError}"></div>
    <!--数组语法:类名需要添加到实例data中-->
    <div :class="[activeClass,errorClass]"></div>
    //对象绑定和数组绑定可以结合使用:"[activeClass,errorClass,{test:isTest}]"
    //class绑定的值可以简化操作:可将数组或对象集合放在data中,后将data的数据和标签的数据关联
    //data中:数组:arrClass:['active','error'] 对象:objClass={active:true,error:true}
    //当有默认class时,默认class不会被覆盖
    • style样式处理
    <!--对象语法:将值添加到实例data中-->
    <div :style="{color:activeColor,fontSize:fontSize}"></div>
    <!--数组语法:将样式集合添加到实例data中-->
    <div :style="[baseStyles,overridingStyles]"></div>

    分支循环结构:v-if、v-else、v-else-if、v-show,可进行简单的判断(包括三元表达式)

    v-if:根据表达式中的值的真假来插入/移除元素

    v-else:使用该指令来表示v-if的else块,须写在v-if块或v-else-if块后面,否则无法识别

    v-else-if:使用该指令来表示else-if块,须写在v-if块或v-else-if块后面,否则无法识别

    v-show:根据表达式的真假值,切换元素的display CSS操作

    <div v-if="score>=90">a</div>
    <div v-else-if="score<90&&score>=80">b</div>
    <div v-else-if="score<80&&score>60">c</div>
    <div v-else>d</div>
    
    <div v-show="flag">0<div>
    <iniput type="button" @click="handle">
    //handle:function(){
        this.flag=!this.flag;
    }

    v-show与v-if的区别:v-if控制元素是否渲染到页面,而v-show控制元素是否显示(已经渲染到页面)

    循环结构:

    v-for

    <!--遍历数组-->
    <!--
    in:关键字、item:值、index:索引(从0开始)、list:数组--> <li v-for="item in list">{{item}}</li> <li v-for="(item,index) in list">{{item+ '----' +index}}</li> <!--key可以帮助Vue区分不同的元素,从而提高性能--> <li :key="item.id" v-for="(item,index) in list">{{item+ '----' +index}}</li>

    <!--遍历对象-->
    <!--in:关键字、value:对象的值、key:键、index:索引、Obj:对象-->
    <div v-for="(value,key,index) in Obj"></div>
    <!--v-if和v-for结合使用-->
    <div v-if="value==12" v-for="(value,key,index) in Obj"></div>

    v-slot:提供具名插槽或需要接收prop的插槽(在插槽的笔记中再写)

  • 相关阅读:
    java泛型的一些知识点:Java泛型--泛型应用--泛型接口、泛型方法、泛型数组、泛型嵌套
    Java遍历Map的四种方式
    Less20、21、22【报错注入+Cookie字段注入+Base64编码】
    Less18、19【报错注入+User-Agent、Referer字段注入】
    Less17【报错注入+Update注入/时间注入】
    Less-16【盲注+时间注入】
    Less-15【盲注+时间注入】
    Less-14【报错注入】
    Less-12、13【报错注入】
    Less-11【报错注入】
  • 原文地址:https://www.cnblogs.com/miao91/p/13283901.html
Copyright © 2011-2022 走看看