Vue常用指令及其生命周期

作者:CSDN-PleaSure乐事

欢迎大家阅读我的博客 希望大家喜欢


目录

1.常用指令

[1.1 v-bind](#1.1 v-bind)

[1.2 v-model](#1.2 v-model)

注意事项

[1.3 v-on](#1.3 v-on)

注意事项

[1.4 v-if / v-else-if / v-else](#1.4 v-if / v-else-if / v-else)

[1.5 v-show](#1.5 v-show)

[1.6 v-for](#1.6 v-for)

无索引

有索引

生命周期

定义

流程


1.常用指令

Vue当中的指令是指HTML标签带有v-前缀的特殊属性,不同指令具有不同含义。

1.1 v-bind

指令:v-bind

作用:为HTML标签绑定属性值,如设置href,css样式等

javascript 复制代码
<body>
    <div id="app">
        <a v-bind:href="url">一个超链接</a>
    </div>
    <script>
        new Vue({
            el: '#app',
            data: {
                url:"https://www.baidu.com"
            }
        })
    </script>
</body>

此时我们已经完成了对超链接的设置。虽然href当中并没有直接指明跳转地址,但是我们可以通过v-bind进行动态设置跳转地址。

另外,需要注意的是,我们可以将v-bind直接简写为一个冒号,如:

<a :href="url">一个超链接</a>

这样的格式也是允许的。

1.2 v-model

指令:v-model

作用:为表单元素创建双向数据绑定

javascript 复制代码
<body>
    <div id="app">
        <a v-bind:href="url">一个超链接</a>
        <input type="text" v-model="url">
    </div>
    <script>
        new Vue({
            el: '#app',
            data: {
                url:"https://www.baidu.com"
            }
        })
    </script>
</body>

此时我们在url当中指定的目标网址则会在输入框中跟随显示。如果我们将输入框中的网址进行改变,那么超链接的目标网址也会跟随变化:

注意事项

需要注意的是,我们在v-bind和v-model当中绑定的变量必须在数据模型中声明,即在new vue当中声明。

1.3 v-on

指令:v-on

作用:为HTML标签绑定事件

javascript 复制代码
<body>
    <div id="app">
        <input type="button" value="按钮" v-on:click="show">
    </div>
    <script>
        new Vue({
            el: '#app',
            data: {
                
            },
            methods: {
                show:function(){
                    alert("已触发事件")
                }
            }
        })
    </script>
</body>

此时我们点击按钮,则会出发alert弹出网页显示。

注意事项

需要把定义的事件放在method当中,且v-on可以简化为@

1.4 v-if / v-else-if / v-else

指令:v-if、v-else-if、v-else

作用:条件性渲染某元素,为true时渲染,否则不渲染

javascript 复制代码
<body>
    <div id="app">
        年龄<input type="text" v-model="age">
        <span v-if="age <= 35">35岁以下</span>
        <span v-else-if = "age>35 &&age<=60">35-60岁</span>
        <span v-else>60岁以上</span>
    </div>
    <script>
        new Vue({
            el: '#app',
            data: {
                age:20
            }
        })
    </script>
</body>

这里我们进行判断,在age符合不同条件时会动态显示不同结果,最终效果如下:

1.5 v-show

指令:v-show

作用:根据条件展示元素,区别在于切换的是display属性的值

javascript 复制代码
<body>
    <div id="app">
        年龄<input type="text" v-model="age">
        <span v-show="age <= 35">35岁以下</span>
        <span v-show = "age>35 &&age<=60">35-60岁</span>
        <span v-show>60岁以上</span>
    </div>
    <script>
        new Vue({
            el: '#app',
            data: {
                age:20
            }
        })
    </script>
</body>

这里需要注意v-show和上面的v-if展现的效果类似,区别我们可以通过元素检查器发现:

v-if只展示符合的条件,而display则通过none与非none来进行区分。

1.6 v-for

指令:v-for

作用:遍历容器元素或对象属性来进行列表渲染

无索引

v-for的格式与python当中的遍历差不多,如下:

javascript 复制代码
<body>
    <div id="app">
        <div v-for="add in adds">{{add}}</div>
    </div>
    <script>
        new Vue({
            el: '#app',
            data: {
                adds:["a","b","c","d","e"]
            }
        })
    </script>
</body>

得到的效果如下:

有索引

如果我们想要插入索引,那么直接加入index即可,格式如下:

javascript 复制代码
<body>
    <div id="app">
        <div v-for="(add,index) in adds">{{index}} : {{add}}</div>
    </div>
    <script>
        new Vue({
            el: '#app',
            data: {
                adds:["a","b","c","d","e"]
            }
        })
    </script>
</body>

但是需要注意的是索引是从0开始,如果想要从1开始,则直接对大括号内的index进行加一操作即可,想要从其他数字开始同理。


生命周期

定义

生命周期的定义是指一个对象从创建到销毁的过程,生命周期有如下8个阶段:

  1. 创建前:beforeCreate
  2. 创建后:created
  3. 挂载前:beforeMount
  4. 挂载完成:mounted
  5. 更新前:beforeUpdate
  6. 更新后:updated
  7. 销毁前:beforeDestroy
  8. 销毁后:destroyed

流程


作者:CSDN-PleaSure乐事

希望我的博客对您有帮助,也希望在对您有帮助时您可以为我留下点赞收藏与关注,这对我真的很重要,谢谢!

相关推荐
北京_宏哥3 分钟前
《手把手教你》系列基础篇(九十三)-java+ selenium自动化测试-框架设计基础-POM设计模式实现-上篇(详解教程)
java·前端·selenium
Nu118 分钟前
weakMap 和 weakSet 原理
前端·面试
顾林海10 分钟前
深入理解 Dart 函数:从基础到高阶应用
android·前端·flutter
鲤籽鲲11 分钟前
C# Enumerable类 之 数据排序
开发语言·c#·c# 知识捡漏
*.✧屠苏隐遥(ノ◕ヮ◕)ノ*.✧11 分钟前
C语言_数据结构总结6:链式栈
c语言·开发语言·数据结构·算法·链表·visualstudio·visual studio
比特鹰14 分钟前
桌面端跨端框架调研
前端·javascript·前端框架
Ratten15 分钟前
【JavaScript】---- JS原生的深拷贝API structuredClone 使用详解与注意事项
前端·javascript
DarisX15 分钟前
JupyterLab前端二开基础上手指南
前端
ZZZzh15 分钟前
前端开发浏览器调试方法
前端