![剑指Vue3:从入门到实践](https://wfqqreader-1252317822.image.myqcloud.com/cover/329/51090329/b_51090329.jpg)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
2.1.2 指令语法
指令(Directive)是带有“v-”前缀的Vue自定义标签属性,其属性值一般是一个JavaScript表达式。Vue中包含了一些不同功能的指令,比如v-bind用来给标签指定动态属性值,v-on用来给标签绑定事件监听,v-if和v-show用来控制标签是否显示。但需要注意的是,不管是什么功能的指令,它们操作的目标都是指令属性所在的标签。
下面以v-bind与v-on为例来演示指令语法的使用,同时读者可以思考下方代码的运行效果。
这里先将这两个指令的语法进行展示,以便于读者后续的理解。
● v-bind:属性名="JavaScript表达式"。
● v-on:事件名="方法名表达式"。
代码如下所示。
![](https://epubservercos.yuewen.com/EBE7EF/30122329607553806/epubprivate/OEBPS/Images/48137_29_3.jpg?sign=1738866889-DLAmpvP9Hy6kwlCGOaClDlwNqanbAemZ-0-09d557553f46fce6131b5fa89db12d74)
![](https://epubservercos.yuewen.com/EBE7EF/30122329607553806/epubprivate/OEBPS/Images/48137_30_1.jpg?sign=1738866889-ekFueVCcfEtlAffu5K35U81rIo6Jr5QO-0-891eefa3f4360840aab07461ce833191)
上面这段代码使用v-bind为a标签指定了动态属性值url,此时a标签的href属性值就是data对象中定义的url值,如图2-2所示;使用v-on为button标签绑定事件监听并指定回调confirm函数,当点击按钮时触发该函数执行对应操作。通过控制台查看该效果,如图2-3和图2-4所示。
![](https://epubservercos.yuewen.com/EBE7EF/30122329607553806/epubprivate/OEBPS/Images/48137_30_2.jpg?sign=1738866889-qxvvj65wJAwZh5eYr5776SNo9xpNcr4W-0-d5213cf46cf000e053f9ed1754bab2e9)
图2-2 a标签的href属性值
![](https://epubservercos.yuewen.com/EBE7EF/30122329607553806/epubprivate/OEBPS/Images/48137_30_3.jpg?sign=1738866889-kKAjreQTblePbNswrP0dLyx3aXvtfi5r-0-09e063a7ab214cfacf64ce6fbe506d03)
图2-3 弹出对话框
![](https://epubservercos.yuewen.com/EBE7EF/30122329607553806/epubprivate/OEBPS/Images/48137_30_4.jpg?sign=1738866889-fPSg7pxOWoWlNQ87aloSndVTyjvOFGr2-0-e7de42f5dc7ab4e93d027b487348f33a)
图2-4 点击“确定”按钮后跳转至尚硅谷官方网站
其实Vue允许将“v-bind:属性名”简化为“:属性名”,“v-on:事件名”简化为“@事件名”的形式,并且在实际项目开发中,前端工程师基本上会使用简化的语法进行开发。
例如,可以将上面的相关代码简化为下面的代码。
![](https://epubservercos.yuewen.com/EBE7EF/30122329607553806/epubprivate/OEBPS/Images/48137_30_5.jpg?sign=1738866889-yHqUJZOXq6N5NpZ08MNVJEz0garYLsoZ-0-d840312e7b5b93e04650c19957bd11cb)