Vue指令语法汇总

笔记总结来源于尚硅谷张天禹老师的Vue教程,感谢天禹老师❤

一、内置指令

1.v-bind 指令

v-bind用于给标签里的标签属性动态绑定值

语法 v-bind:标签属性="xxx"
简写 :标签属性="xxx"

引号中的xxx要写js表达式

⭐注意区分: js表达式 和 js代码(语句)
1.表达式:一个表达式会产生一个值,可以放在任何一个需要值的地方:
(1). a
(2). a+b
(3). demo(1)
(4). x === y ? ‘a’ : ‘b’

2.js代码(语句)
(1). if() {}
(2). for() {}

2.v-model 指令

v-bind用于表单类元素(输入类元素)的双向数据绑定

语法 v-model:value="xxx"
简写 v-model="xxx"

Vue中有2种数据绑定的方式:
1.单向绑定(v-bind):数据只能从data流向页面。
2.双向绑定(v-model):数据不仅能从data流向页面,还可以从页面流向data。


备注:
1.双向绑定一般都应用在表单类元素上(如:input、select等)
2.v-model:value 可以简写为 v-model,因为v-model默认收集的就是value值。

3.v-on 指令

v-on用于绑定事件监听

语法 v-on:xxx="yyy" 其中xxx是事件名,yyy是事件的回调
简写 @xxx="yyy"

绑定事件的时候,yyy也可以写一些简单的语句

⭐事件的基本使用:
1.事件的回调需要配置在methods对象中,最终会在vm上;
2.methods中配置的函数,不要用箭头函数!否则this就不是vm了;
3.methods中配置的函数,都是被Vue所管理的函数,this的指向是 vm 或 组件实例对象;
4.只有配置在data里的数据,vue才会做数据劫持和数据代理,methods里的则不会,因为methods中的函数只是用来被调用而不需要做修改,所以不需要做数据代理;
5.@click=“demo” 和 @click=“demo($event)” 效果一致,但后者可以传参,(@click=“demo” 时默认传递了

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue.js是一种流行的JavaScript框架,用于构建用户界面。它提供了一种简洁的方式来处理数据和DOM的交互。在Vue.js中,自定义指令是一种扩展Vue.js功能的方式,可以用于在DOM元素上添加特定的行为。 在Vue.js 2中,自定义指令通过`Vue.directive`方法来定义。自定义指令可以用于操作DOM元素、监听事件、修改样式等。例如,我们可以创建一个自定义指令来实现点击元素时改变背景颜色的功能: ```javascript Vue.directive('change-color', { bind: function (el, binding) { el.addEventListener('click', function () { el.style.backgroundColor = binding.value; }); } }); ``` 在上面的例子中,我们使用`bind`钩子函数来绑定指令,并在元素上添加点击事件监听器。当点击元素时,会根据指令的值来改变元素的背景颜色。 而在Vue.js 3中,自定义指令的写法有所改变。Vue.js 3引入了`createApp`方法来创建应用程序实例,并使用`app.directive`方法来定义自定义指令。例如,我们可以使用Vue.js 3的语法来重新实现上述的自定义指令: ```javascript const app = Vue.createApp({}); app.directive('change-color', { mounted(el, binding) { el.addEventListener('click', function () { el.style.backgroundColor = binding.value; }); } }); app.mount('#app'); ``` 在上面的例子中,我们使用`mounted`钩子函数来绑定指令,并在元素上添加点击事件监听器。当点击元素时,会根据指令的值来改变元素的背景颜色。 总结一下,Vue.js 2和Vue.js 3中的自定义指令的定义方式有所不同,但都可以用于扩展Vue.js的功能,实现特定的行为。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值