前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Vue3模板语法--动态参数

Vue3模板语法--动态参数

原创
作者头像
软件架构师Michael
发布2022-08-30 09:08:24
1.1K0
发布2022-08-30 09:08:24
举报
文章被收录于专栏:软件工程师Michael

可以在指令参数中使用 JavaScript 表达式,方法是用方括号括起来:

代码语言:javascript
复制
<!-- 注意,参数表达式的写法存在一些约束,如之后的“对动态参数表达式的约束”章节所述。 --> 
<a v-bind:[attributeName]="url"> ... </a>

这里的 attributeName 会被作为一个 JavaScript 表达式进行动态求值,求得的值将会作为最终的参数来使用。例如,如果你的组件实例有一个 data property attributeName,其值为 "href",那么这个绑定将等价于 v-bind:href

同样地,你可以使用动态参数为一个动态的事件名绑定处理函数:

代码语言:javascript
复制
<a v-on:[eventName]="doSomething"> ... </a>

在这个示例中,当eventName的值为"focus"时,v-on:[eventName]将等价于v-on:focus

example:

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <!-----使用Vue3,首先要引入Vue   ---这个做法有点类似与jQuery或其他js库的用法----->
    <script src="https://unpkg.com/vue@3"></script>
    <style>
        .red{color: red;}
        .blue{color:blue}
    </style>
</head>
<body>
   
    <div id="lio">
        <!--插值表达式,绑定变量-->
        <!--{{content}}
        {{sky}}
        {{num}}-->
        <!----v-on:click表示绑定事件---->  
        <!--<span v-bind:class="color">789</span>-->
    
       <span v-on:[fn]="toRed" v-bind:class="color">666</span>
        <span v-bind:[sky]='content'></span><br/>
        <button v-on:click="change">go!</button>
        <button v-on:click="toMouseOver">mouseover</button>
    </div>
    <br/><br/>
  
    
    
    
    <script>
        Vue.createApp({     /*---Vue的createApp方法,可以放入数据池与事件池,data是数据池,methods是事件池---*/
            "data":function(){   /*  变量池  */
                return{
                    content:"Vue3" ,   /* 自定义的变量 */
                    "sky":"kkk",
                    color:"",
                    "fn":"click"
                }
            },
            "methods":{  /* 事件池 */
                "change":function(){
                    this.sky="mmm"
                   // var _this=this;
                    //setInterval(function(){
                      //  _this.num++;
                   // },1000);
                   //alert(1);
                   //console.log(this)
                   //this.content='hi Vue3',
                   //this.sky="hahaha"
                   
                },
                "toRed":function(){
                    this.color="red"
                },
                "toMouseOver":function(){
                    this.fn="mouseover"
                },
                b:function(){
                    alert(2);
                }
            }
        }).mount("#lio");/*---mount()方法指定挂载元素,只会挂载符合条件的第一个元素--*/
    </script>
</body>
</html>

以上是Vue3模板语法中动态参数完整的代码实例。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档