Vue常用指令

Vue常用指令

vue.js官方给自己的定为是数据模板引擎,并给出了一套渲染数据的指令.

  • v-if
  • v-show
  • v-for
  • v-text
  • v-html
  • v-clock
  • v-bind
  • v-on
  • v-model

v-if , v-show指令

v-if = “expression” : 根据表达式的真假来删除和插入元素

v-show = “expression” : 不会每次都去删除和创建DOM元素 , 而是通过dispaly:none将元素隐藏起来

v-if 例子
<body>
  <div id="app">
    <h1 v-if="yes">yes!</h1>
    <h1 v-if="age > 16">age : {{age}}</h1>
    <h1 v-if="name.indexOf('i') > 0">name : {{name}}</h1>
  </div>

  <script>
    new Vue({
      el: '#app',
      data: {
        yes: false, // 如果是true则显示内容 , false则不会显示
        age: 18,
        name: 'wickson'
      }
    })
  </script>
</body>
运行截图

运行截图

v-show 例子
<div id="app">
    <div v-show="content1">
        我是v-show
    </div>
    <button @click="handler">点击我</button>
</div>
<script>
    new Vue({
        el: '#app',
        data: {
            content1: false
        },
        methods: {
            handlerContent1() {
                this.content1 = !this.content1
            }
        }
    })
</script>
运行截图

20203241618

v-for 指令

v-for = “item in items” : 基于一个数组渲染一个列表

例子
<div id="app">
    <table style="width: 400px; height: 600px;" border="1" cellspacing="0">
        <thead>
            <tr>
                <th>name</th>
                <th>age</th>
            </tr>

        </thead>
        <tbody>
            <tr v-for = "item in items">
                <td align="center">{{item.name}}</td>
                <td align="center">{{item.age}}</td>
            </tr>
        </tbody>
    </table>
</div>

<script type="text/javascript">
    var app = new Vue({
        el: '#app',
        data: {
            items: [
                { name: 'well', age: '20' }, 
                { name: 'good', age: '19' }, 
                { name: 'nice', age: '18' }, 
                { name: 'ok', age: '17' }
            ]
        }
    })
</script>
运行截图

运行截图

v-text , v-html , v-clock指令

v-text : 会覆盖原有标签中的内容. 将data中的数据作为字符串去处理

v-html : 会见data作为html标签去渲染

v-clock : 占位符指令 , 会替换掉自己的这个占位 , 不会把整个元素清空

例子
<div id="app">
    <div v-clock>{{msg}} 你好</div>
    <div v-text="msg1">你好</div>
    <div v-html="msg2"></div>
</div>

<script type="text/javascript">
    var app = new Vue({
        el: '#app',
        data: {
            msg: "我是v-clock",
            msg1: "我是v-text",
            msg2: "<div>我是v-html</div>"
        }
    })
</script>
界面截图

界面截图

v-bind , v-on 指令

v-bind : Vue中提供用户绑定属性的指令. 也可以简写成:

v-on : Vue提供的事件绑定指令. 可以简写成@

例子
<div id="app">
    <!-- 
        v-bind : 用户绑定属性的指令. 也可以简写成 :
        <button :title="msg">这是一个按钮</button>
    -->
    <button v-bind:title="msg">这是一个按钮</button>

    <!-- 
        v-on : 事件绑定指令. 可以简写为@
        <button @:click="show">点击我</button>
    -->
    <button v-on:click="show">点击我</button>
</div>

<script>
    var vue = new Vue({
        el: "#app",
        data: {
            msg: "我是一个按钮"
        },
        methods: {
            show() {
                alert("点一下玩一年");
            }
        }
    })
</script>
运行截图

1584952616056

v-model 指令

v-model : 数据的双向绑定 , 只能用于表单元素. 一方被修改之后另一方也会同步修改

v- bind : 数据的单向绑定. 当model中数据被修改是 , bind绑定的数据会被修改. 而bind绑定的位置改变model则不会被修改

例子
<div id="app">
    <h5>{{msg}}</h5>
    <div>
        我是v-model<br />
        <input type="text" name="" id="" v-model:value="msg">
    </div>
    <div>
        我是v-bind<br />
        <input type="text" name="" id="" v-bind:value="msg">
    </div>
    <button v-on:click="changeMsg">点击我</button>
</div>

<script>
    var vue = new Vue({
        el: "#app",
        data: {
            msg: "我是一个按钮"
        },
        methods: {
            changeMsg() {
                this.changeMsg1()
            },
            changeMsg1() {
                this.msg = "我现在不是按钮了"
            }
        }
    })
</script>
运行截图

运行截图

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小源同学r

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值