总结: Vue2中基础语法(一)

总结: Vue2中基础语法(二)_hmxs_hmbb的博客-CSDN博客

总结: Vue2中基础语法(三)_hmxs_hmbb的博客-CSDN博客

总结: Vue2中基础语法(四)_hmxs_hmbb的博客-CSDN博客

总结: Vue2中基础语法(五)_hmxs_hmbb的博客-CSDN博客

这里总结vue指令基础API.

目录:

        1.插值表达式

        2.指令v-bind

        3.指令v-for

        4.指令v-text和v-html

        5.指令v-if和v-show

        6.指令v-if, v-else-if和v-else

        7.指令v-on和methods

        8.指令v-on事件对象,事件修饰符和按键修饰符

        9.指令v-model双向绑定和v-model修饰符

        10.动态修改标签的class样式

        11.动态修改标签的style样式

        12.计算属性

        13.计算属性完整的写法

        14.vue2中过滤器(v3已废弃)

        15.vue监听器

        16.深度监听和立即执行

1. 插值表达式

        插值表达式就是vuejs实现将数据渲染到页面上的方式, 不需要再通过DOM的操作; 它里面可以执行简单的js代码. 也就是使用{{ }}语法的就是插值表达式.

格式: {{ 数据 }}

        也就相当于在页面上占个位置, 然后将data中的数据渲染到页面.

里面可以写什么:

        可以是三元, 算术运算, 逻辑运算, 拼接等等, 只要console.log可以输出的都可以在里面实现.

不可以写什么:

        里面不能出现循环, 分支, 函数, 声明变量等等.

2. 指令v-bind

        动态绑定标签上的属性值, 属性值一般是获取data中的数据. 标签上的属性值不能使用插值表达式来设置.

格式:

        ① <img v-bind:src = "data中的数据">        ②<img :src = "data中的数据">

3. 指令v-for

        用于循环, 一般是对页面元素进行循环渲染; 循环的次数根据数据的数量来决定.

格式:

        <li v-for = "(item, index) in 数据" :key = "唯一值"> </li> 

其中的数据可以是什么:

        数据可以是数组, 对象和数字, 数组是最常用的.

 4. 指令v-text和v-html

        跟innerText和innerHTML一样使用.

格式:

        <p v-text="vue变量"> </p>        <html="vue变量"> </p>

5. 指令v-if和v-show

        控制标签的可见和不可见, 区别(我会单独写一篇博客). 

格式:

        这个 "vue变量" 的结果一定是一个布尔值, true就是可见; false就是不可见.

        <p v-if="vue变量"> </p>        <p v-show="vue变量"> </p>

 

6. 指令v-if, v-else-if和v-else

        和js中的分支结构是一样的

格式:

        <标签 v-if="条件"> </标签> 
        <标签 v-else-if="条件"> </标签> 
        <标签 v-else-if="条件"> </标签> 
        <标签 v-else> </标签>

 

 7. 指令v-on和methods

        给标签绑定事件, 和DOM中的事件是一个性质.

        methods是一个对象, 配合v-on一起使用; 在里面可以使用this访问当前组件的所有成员.

格式:

        ①<button v-on:事件名="少量的代码"> </button>

           <button v-on:事件名="methods中的代码"> </button>

           <button v-on:事件名="methods中的代码(参数)"> </button>

        ②<button @事件名="少量的代码"> </button>

           <button @事件名="methods中的代码"> </button>

           <button @事件名="methods中的代码(实参)"> </button>

 

8. 指令v-on事件对象,事件修饰符和按键修饰符

        跟DOM中的event事件对象是一样的.

        事件修饰符就是在事件名后面加上 ".修饰符" . 例如: stop(阻止事件冒泡), prevent(阻止默认行为), once(只执行一次). <标签 @事件名.修饰符="methods里函数" /> .

        按键修饰符跟事件修饰符一样".按键修饰符", 作用就是监听某一个按键. 例如:@keyup.enter, @keydown.esc.

格式:

        ①没有参数, 形参中直接使用        ②有参数, 形参中传入"$event"指代事件对象

9. 指令v-model双向绑定和v-model修饰符

        它是对双向的数据绑定, 通常使用在表单控件里面; 因为只有表单控件才可以接受到用户输入的信息.

  • 数据变化 -> 视图自动同步
  • 视图变化 -> 数据自动同步

        v-model修饰符和事件修饰符相似, 也是在后面加上".修饰符". 例如: v-model.number(转换为数字类型), v-model.trim(去除首尾空格), v-model.lazy(当前元素失去交单的时候视图修改数据)

 

10. 动态修改标签的class样式

        配合v-bind动态绑定标签的class样式. 它们可以和静态的class样式共存, 样式有冲突的地方依据就近原则, 后面会层叠掉上面的样式.

格式:

        ①<标签 class = "style中的类名"> </标签 > (直接定死)

        ②<标签 :class = "data中的变量"> </标签 > (变量的值是style中的类名(字符串的形式))

        ③<标签 :class = "data中的数组"> </标签 > (数组中的值直接是style中的类名)

        ④<标签 :class = "data中的对象"> </标签 > (以键值对形式存在, 类名: true/false)

 

 

11. 动态修改标签的style样式

        它是行内样式, 比css样式使用的少; 通常我们会直接传入一个对象进去. 如果类名中带有"-"改为小驼峰命名法.

格式:

        <标签 :style="{css属性名: 值}" />

 

 12. 计算属性

        如果有一个数据需要依赖原有的数据通过一些逻辑处理得到的话, 就需要计算属性.

        简单的说, 就是从已有的数据A处理后得到的数据B, 它就需要计算属性.

        它和函数很相似, 但是不同; {{ fn( ) }}, {{ sum }} 前面是函数的调用, 后面是计算属性的调用方法. 在vue中会自动调用函数, 不能加小括号调用.

        它需要写在computed属性里面, 大对象包含方法. 函数内部必须有return返回. 并且有缓存.

        例如: 本次计算属性的方法以及执行过一次, 下次项目中在遇见同样的需求的话; 会先调用缓存, 这样可以提高渲染性能.

格式:

        {
    data(){},
    methods: {}
    // 声明计算属性
    computed: {
        //属性名字(计算属性名称)
        //属性的值(计算属性处理函数)
        计算属性名1 () {
            // 对依赖的数据进行处理,且进行return
            return 
        },
        计算属性名2 () {
            // 对依赖的数据进行处理,且进行return
            return 
        }
    }
}

 

13. 计算属性完整的写法

        在一般的情况下, 我们直接调用的是get()方法; 其实它还有一个成员就是set(), 在没有声明set()的时候去修改计算属性的值会报错.

        当数据发生变化的时候, set方法会去设置get方法中的数据

        通常我们会将v-model动态绑定到计算属性上面(也就是这里的age).

格式:

        computed: {
    "属性名": {
        set(值){
            
        },
        get() {
            return "值"
        }
    }
}

14. vue2中过滤器

        它就是在数据在被渲染之前, 做一个格式转换. 被定义在filters中, 它在vue3中已经被废弃了.

格式:

        {
    data(){},
    computed:{},
    methods:{},
    // 定义过滤器
    filters: {
      // 属性名称(过滤器名称):属性的值(过滤器处理函数)
      myFilter:function(value,其它参数){
           return 过滤后的结果
      }
    }
}

15. vue监听器

        监听器又被叫为侦听器, 它是监听数据值的改变(如: data, computed等等). 数据的类型有基本数据类型和应用数据类型. 被定义在watch大对象中.

格式:

        data(){},
        computed:{},
        methods:{},
        filters:{},
        watch: {
             "被监听的属性名" (newVal, oldVal){
     }
 }

 

 

 

16. 深度监听和立即执行

         如果监听一个基本数据类型, 直接使用watch监听是可以的; 但是如果监听的数据是一个引用数据类型的话, 就不可以了.

        因为引用数据类型中存的是内存地址, 只有改变地址才会被监听到; 所以需要深度监听.

        监听的属性名要和监听对象的名字要一样.

        立即执行就是, 当页面一加载完就被执行一次; 因为页面数据从无到有是一次变化.

格式:

        watch: {
            "要监听的属性名": {
               immediate: true, // 立即执行
               deep: true, // 深度监听复杂类型内变化
               handler (newVal, oldVal) {
        }
    }
}

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值