Vue之参数传递、 v-on的简化写法、事件处理函数的简化写法


回顾

vue中绑定事件的基本语法之总结

  • 在vue中绑定事件是通过v-on指令来完成的,语法为----v-on:事件名
  • 在v-on:事件名的赋值语句中是当前事件触发调用的函数名
  • 在v-on中事件的函数统一定义在vue实例的methods属性中
  • 在vue定义的事件中this指的就是当前vue实例,日后可以通过this获取实例中的相关数据或调用methods中相关方法

一、vue事件参数传递

<!DOCTYPE html>
<html lang="en" xmlns:v-on="http://www.w3.org/1999/xhtml">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        <div id="app">
            <h1>{{msg}}</h1>
            <h1>{{count}}</h1>
            <button v-on:click="incrementAge1">点击每次年龄+1</button>
            <!--      注意传参           -->
            <button v-on:click="changeAge10(10)">点击每次年龄+10</button>
            <!--     当参数多时,参数可以设置为对象       -->
            <button v-on:click="test({count:1,msg:'hello'})">点击每次年龄+1,同时msg+"hello!"</button>

        </div>

    </body>
</html>
<script src="js/vue.js"></script>
<script>
    new Vue({
        el: "#app",
        data: {
            msg: "悬悬小",
            count:0
        },
        methods: {
            incrementAge1:function () {
               this.count++;
           },
            changeAge10: function (count) {
               // console.log(this.count);
                this.count+=count;
            },
            test: function (param) {
                // console.log(this.msg);
                //注意取参的方式
                this.count+=param.count;
                this.msg +=param.msg;
            }

        }
    });
</script>
<!--需求:
定义三个按钮
1.点击每次年龄加1
2.点击每次年龄加10
3.点击每次年龄加1,同时msg+“你好!”
-->

二、vue事件的简化语法

  • 通过 @事件名 = 事件处理函数名 简化v-on事件绑定
  • 通过 函数名(){} 简化函数的书写
<!DOCTYPE html>
<html lang="en" xmlns:v-on="http://www.w3.org/1999/xhtml">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        <div id="app">
            <h1>{{msg}}</h1>
            <h1>{{count}}</h1>
            <!--          v-on指令的简化写法   @事件名=事件处理函数名  -->
            <button @click="incrementAge1">点击每次年龄+1</button>
            <button @click="incrementAge2(2)">点击每次年龄+2</button>


        </div>

    </body>
</html>
<script src="js/vue.js"></script>
<script>
    new Vue({
        el: "#app",
        data: {
            msg: "悬悬小",
            count: 0
        },
        methods: {
            incrementAge1:function () {
                this.count++;

            },
            //简化函数的写法 函数名(){}
            incrementAge2(count){
                this.count +=count;
            }


        }
    });
</script>

总结

以上就是vue中事件绑定语法的全部知识。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue 3 中,你可以使用 `setup` 语法糖来实现子组件向父组件递数据和更新父组件的 `v-model`。下面是一个示例: ```vue <template> <div> <!-- 子组件 --> <ChildComponent v-model="childValue" /> <p>子组件的值: {{ childValue }}</p> </div> </template> <script> import { ref } from 'vue'; import ChildComponent from './ChildComponent.vue'; export default { components: { ChildComponent }, setup() { const childValue = ref(''); return { childValue }; } }; </script> ``` 在这个例子中,`ChildComponent` 是子组件,它接收一个 `v-model` 绑定的值 `childValue`。在父组件中,我们使用 `setup` 函数来定义一个名为 `childValue` 的响应式变量,并将其递给子组件。子组件可以通过修改 `childValue` 来更新父组件的值。 在子组件中,你可以通过 `props` 接收 `childValue` 并将其绑定到一个内部变量上。然后,你可以在子组件中使用 `$emit` 来向父组件发送更新事件。 ```vue <template> <div> <input type="text" :value="value" @input="updateValue($event.target.value)" /> </div> </template> <script> export default { props: ['value'], methods: { updateValue(newValue) { this.$emit('update:value', newValue); } } }; </script> ``` 在子组件中,我们将 `value` 属性绑定到输入框的值,并通过 `@input` 事件监听输入框的变化。当输入框的值发生变化时,我们调用 `updateValue` 方法,并使用 `$emit` 发送一个名为 `update:value` 的事件,将新的值递给父组件。 这样,在父组件中,我们就可以通过监听子组件发出的 `update:value` 事件来更新父组件的值,并且这个更新会通过 `v-model` 双向绑定到子组件上。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值