指令 (Directives) 是带有 v- 前缀的特殊特性。有大量指令还可以指定参数比如v-bind:title,这里的title就是参数
参数使用
绑定href
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Title</title><link rel="stylesheet" href="../lib/bulma.css"></head><body><div id="app" class="container"><a v-bind:href="website">我的知识分享</a></div><script src="../lib/vue.js"></script><script>var data = {website:'https://www.yuque.com/qiudaozhang'};var vm = new Vue({el:'#app',data:data})</script></body></html>

点击后就跳转了。

绑定事件
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Title</title><link rel="stylesheet" href="../lib/bulma.css"></head><body><div id="app" class="container"><button v-on:click="click">点我</button></div><script src="../lib/vue.js"></script><script>var data = {website:'https://www.yuque.com/qiudaozhang'};var vm = new Vue({el:'#app',data:data,methods:{click:function () {alert('点击就送');}}})</script></body></html>
点击按钮就会触发相应的事件了。注意Vue并没有提供双击事件,按照作者的回复,你可以使用原生的dbclick来完成功能即可。
修饰符
修饰符 (modifier) 是以半角句号 . 指明的特殊后缀,用于指出一个指令应该以特殊方式绑定。比如.prevent可以阻止事件冒泡。相当于event调用preventDefault()。
比如阻止表单直接提交。
观察下面的表单
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Title</title><link rel="stylesheet" href="../lib/bulma.css"></head><body><div id="app" class="container"><form action="" ><input type="submit" value="提交"></form></div><script src="../lib/vue.js"></script><script>var vm = new Vue({el:'#app',methods:{hit:function () {alert('弹弹乐');}}})</script></body></html>
当点击提交按钮,直接回进行提交。
现在修改如下
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Title</title><link rel="stylesheet" href="../lib/bulma.css"></head><body><div id="app" class="container"><form action="" v-on:submit.prevent><input type="submit" value="提交"></form></div><script src="../lib/vue.js"></script><script>var vm = new Vue({el:'#app',methods:{hit:function () {alert('弹弹乐');}}})</script></body></html>
在form上添加了 v-on:submit.prevent,可以发现点击提交,并不会再发起请求。
如果你希望不仅仅阻止了当前这个提交时间发生,还希望有额外的逻辑,则可以指定方法。
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Title</title><link rel="stylesheet" href="../lib/bulma.css"></head><body><div id="app" class="container"><form action="" v-on:submit.prevent="hit"><input type="submit" value="提交"></form></div><script src="../lib/vue.js"></script><script>var vm = new Vue({el:'#app',methods:{hit:function () {alert('弹弹乐');}}})</script></body></html>

