vue常用标签

一 内容绑定

(1)v-text:会替换掉html的内容

eg:<p v-text="username"></p>

(2){{}}:插值表达式占位内容,放在html中

eg:<p>{{username}}</p>

(3)v-html:可将html内容渲染到页面,v-text和{{}}不支持

eg:<div v-html="username"></div>

  const vm=new Vue({

        el:"#app",

        data:{

            username:"张三",

        }

        })

二 属性绑定

注意:插值表达式不能用在属性绑定

v-bind绑定属性值,可简写为英文冒号:,当需要与字符串动态拼接时需要加单引号,否则会识别为data里的变量值

eg:

  <input type="text" v-bind:placeholder="content"/>

  <img v-bind:src="photo">

  const vm=new Vue({

        el:"#app",

        data:{

            content:"请输入名称",

            photo:"https://pic.cnblogs.com/face/2622189/20211106175104.png"

        }

        })

三 使用js表达式

eg:

  {{number+1}}

  {{ok?'yes':'no'}}

  {{message.split('').reverse().join('')}}

  <div :title="'title'+number"></div>

  const vm=new Vue({

        el:"#app",

        data:{

            number:3,

            ok:true,

            message:"wangbo"

        }

        })

四 事件绑定

v-on可简写为@

eg:

    <button v-on:click="add">+1</button>

        <button @click="sub">-1</button>

 const vm=new Vue({

        el:"#app",

        methods:{

            add(){

                alert("+1");

            },

            sub(){

                alert("+1");

            }

        }

        })

五 指令与过滤器 

常用的有以下五种,这里解释一下事件冒泡,比如父div嵌套子div都有click事件,点击子div的click事件时,先触发小div在触发大的div

 

eg:两种写法

(1) <a href="http://www.baidu.com" @click="show($event)">跳转到首页</a>:(不传递参数时$event可省略)

const vm=new Vue({

        el:"#app",

        data:{

        },

        methods:{

            show(e){

                e.preventDefault();

                console.log("wangbo");

            }

        }

        })

 (2) <a href="http://www.baidu.com" @click.prevent="show">跳转到首页</a>

六 按键修饰符

键盘按键触发事件:

(1) <input @keyup.esc="clearInput"/>

        <input @keyup.enter="submit"/>

  const vm=new Vue({

        el:"#app",

        data:{

        },

        methods:{

            clearInput(e){

                console.log("清除");

                e.target.value="";

            },

            submit(){

                console.log("确认提交");

            }

        }

        })

七 v-model双向绑定

v-bind也可赋值但是不具备双向绑定,常用的绑定标签有input,texteare,select

指令修饰符:

.number自动将用户的输入值转为数值类型:<input type="text" v-model.number="n1"/>

.trim自动过滤用户输入的首位空白符:<input type="text" v-model.trim="username"/>

.lazy在change时而非input更新:<input type="text" v-model.lazy="username"/>

eg:

   <input type="text" v-model="username"/>

        <hr>

        <input type="text" v-bind:value="username"/>

        <hr>

        <select v-model="option">

            <option>请选择</option>

            <option value="1">联强国际</option>

            <option value="2">华为</option>

            <option value="3">启明</option>

        </select>

        <hr>

        <input type="text" v-model.number="n1"/>+

        <input type="text" v-model.number="n2"/>=

        <span>{{n1+n2}}</span>

        <hr>

        <input type="text" v-model.trim="username"/>

        <hr>

        <input type="text" v-model.lazy="username"/>

  const vm=new Vue({

          el:"#app",

          data:{

              username:"张三",

              option:"2",

              n1:1,

              n2:2

          }

          })

八 条件渲染指令

v-if动态创建或移除元素,初始状态不需要展示并且后期也可能不展示使用

v-show添加display=none的属性值,频繁切换时使用

eg:

      <p v-if="flag">v-if控制</p>

        <p v-show="flag">v-show控制</p>

九 列表渲染指令

v-for,使用item in items形式的特殊语法,也可带上索引(item,index) in items,注意item,index都是形参,可根据需要重新命名

key的注意事项:

1只能是数字或者字符串

2必须具有唯一性

3建议用id作为key

4使用索引index作为key没有意义,不具有唯一性

5建议使用v-for一定要指定key的值(既提升性能,又防止列表状态紊乱)

eg:

<table>

               <thead>

                    <tr>

                        <th>id</th>

                        <th>姓名</th>

                    </tr>

               </thead>

                <tbody>

                    <tr v-for="item in userList" :key="item.id">

                    <td>{{item.id}}</td>

                    <td>{{item.name}}</td>

                    </tr>

                </tbody>

        </table>

const vm=new Vue({

        el:"#app",

        data:{

            userList:[

                {"id":1,"name":"张三"},

                {"id":2,"name":"李四"}

            ]

        }

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值