![剑指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=1739261013-NLSb0ehDmWlbbY0J2k7eEEqDXtY0J6HH-0-5ca7e9a4af306d43ee5efc9b8de72def)
![](https://epubservercos.yuewen.com/EBE7EF/30122329607553806/epubprivate/OEBPS/Images/48137_30_1.jpg?sign=1739261013-xWFQQ6eWbzHMQ2n99eN10aAeV6PMyfMv-0-147ef4cd1289e439c8d99d393d691f3b)
上面这段代码使用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=1739261013-OvdlpuMibmwfJXFZk7bF6rZW6zuxrQ1f-0-594c4f049be2e540c973c9c19353438b)
图2-2 a标签的href属性值
![](https://epubservercos.yuewen.com/EBE7EF/30122329607553806/epubprivate/OEBPS/Images/48137_30_3.jpg?sign=1739261013-3zHDxFYu6hC3PXOsC64vUSC3P5Z1W30f-0-69c37940ba8223c787950843ca3bea48)
图2-3 弹出对话框
![](https://epubservercos.yuewen.com/EBE7EF/30122329607553806/epubprivate/OEBPS/Images/48137_30_4.jpg?sign=1739261013-8SsOKVhwnqyFVeOePfLMaMh5osrqjq8P-0-cfdc63ccf93673bf9368eabecdd4eb21)
图2-4 点击“确定”按钮后跳转至尚硅谷官方网站
其实Vue允许将“v-bind:属性名”简化为“:属性名”,“v-on:事件名”简化为“@事件名”的形式,并且在实际项目开发中,前端工程师基本上会使用简化的语法进行开发。
例如,可以将上面的相关代码简化为下面的代码。
![](https://epubservercos.yuewen.com/EBE7EF/30122329607553806/epubprivate/OEBPS/Images/48137_30_5.jpg?sign=1739261013-g2DJvCZt1XWETOjG9aZ11r3ntJLIiXDK-0-592296d6d172757b12e907ad82fc5875)