3.Vue学习:Vue指令

注意点:

Vue实例里面的 el 、methods、 data不可以更改,写错会报错

 

1、v-text设置标签文本值:如果标签里面原来有值会被覆盖

    <div id="first">
        <h2 v-text="message + '!'"></h2>
        <h2 v-text="info + '!' "></h2>
        <h2> {{ message + '!'}}</h2>
    </div>

    <script src=" https://cdn.jsdelivr.net/npm/vue/dist/vue.js">
    </script>
    <script>
        var app = new Vue({
            el: '#first',
            data: {
                message: 'hello word!',
                info: '你好!'
            }
        })
    </script>

 

2、v-html:如果data数据是纯文本,作用和v-txet一样,如果里面数据是标签,可以解析

 

3、v-on:绑定事件指令:可以使用@符号替代

传递自定义参数,事件修饰符

①、事件绑定的方法写成函数调用,可以传入自定义参数

②、定义方法时需要定义形参来接收传入的实参。

③、事件的后面可以跟上 .修饰符 ,对事件进行限制。

④、.enter 可以限制触发的按键为回车。

 

    <div id="app">
        <input type="button" value="点我" @click="active(666, '铁汁')">
        <input type="text" @keyup.enter="sayHi">
    </div>
    <script src=" https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>

    <script>
        var app = new Vue({
            el: '#app',
            methods: {
                active: function (p1, p2) {
                    console.log(p1);
                    console.log(p2);
                },
                sayHi: function () {
                    alert('吃了吗?')
                }

            }
        })
    </script>

 

  

    <div id="first">
        <input type="button" value="点我" v-on:click='doIt'>
        <input type="button" value="点我" @click='doIt'>

        <h2 @click='change'>{{ message }}</h2>
    </div>

    <script src=" https://cdn.jsdelivr.net/npm/vue/dist/vue.js">
    </script>
    <script>
        var app = new Vue({
            el: '#first',
            data: {
                message: 'hello word!',
            },
            methods: {
                doIt: function () {
                    alert('hello word')
                },
                change: function () {
                    this.message += '你好'    // this关键字获取data中的数据
                }
            }
        })
    </script>

  

4、v-show:切换元素的显示状态:true/false

①、可以直接写:v-show=‘true’。

②、使用表达式:v-show=‘age > 18’。

 

5、v-if:根据表达式的真假切换显示状态,和show类似。

①、两者的不同:v-show改变的是display,标签依然还是在页面中,只是看不到;v-if是直接将标签从页面中删除。

②、使用场景:如果是要频繁切换显示状态的就用show。

 

6、v-bind:设置元素的属性:src、title、class等

①、v-bind可以简写为冒号  :

②、改变元素class建议写法:{active:isActive}:是否增加类名取决于后面的真假

<body>
    <div id="first">
        <img v-bind:src="imgSrc" alt="">
        <br>
        <img :src='imgSrc' alt="" :title="imgTitle" :class='{active:isActive}' @click='change'>
    </div>

    <script src=" https://cdn.jsdelivr.net/npm/vue/dist/vue.js">
    </script>
    <script>
        var app = new Vue({
            el: '#first',
            data: {
                imgSrc: "http://www.itheima.com/images/logo.png",
                imgTitle: "黑马程序员",
                isActive: false
            },
            methods: {
                change: function () {
                    this.isActive = !this.isActive
                }
            }
        })
    </script>
</body>

  

 7、v-for:根据数据生成列表结构

 <div id="first">
        <input type="button" value="添加" @click='add'>
        <input type="button" value="减少" @click='remove'>

        <ul>
            <!-- <li v-for='item in arr'>
                中国城市: {{item}}
            </li> -->
            <li v-for='(item,index) in arr'>
                {{ index + 1}} 中国城市: {{item}}
            </li>
        </ul>
        <h2 v-for="it in food" :title='it.name'>
            {{it.name}}
        </h2>
    </div>

    <script src=" https://cdn.jsdelivr.net/npm/vue/dist/vue.js">
    </script>
    <script>
        var app = new Vue({
            el: '#first',
            data: {
                arr: ['北京', '上海', '江苏', '广州'],
                food: [
                    { name: '西红柿炒蛋' },
                    { name: '蛋炒西红柿' }
                ]
            },
            methods: {
                add: function () {
                    this.food.push({ name: '番茄炒蛋' })
                },
                remove: function () {
                    this.food.shift();
                }
            }

        })
    </script>

  

8、v-model:设置以及获取表单元素的值:实现表单元素数据的双向绑定。

表单中的值改变,绑定的值也会同时改变,

绑定的值改变,表单中的值也会同时改变。

①、可以便捷的设置和获取表单元素的值。

②、绑定的数据会和表单元素的值相关联。

③、绑定的数据  <------>  表单元素的值。

 

posted @ 2021-05-27 12:22  Y字仇杀队  阅读(62)  评论(0编辑  收藏  举报