vue指令

54 阅读1分钟

1、 v-text 主要是为了解决小胡子的显示问题 90%用不上

2、 v-html 等同于原生的innerHTML 60%用不上 一旦使用的时候 注意 后边跟的内容一定是可信任的内容

3、v-cloak 主要是为了解决小胡子的显示问题 90%用不上 需要配合css使用

4、 v-pre 这是一个优化性的指令 ,设置了这个指令的元素,vue不会对其进行渲染

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        [v-cloak] {
            opacity: 0;
        }
    </style>
</head>

<body>
    <div id="app">
        <input type="text" v-model='name'>
        <!-- 设置了v-cloak的,不会展示小胡子 -->
        <h1 v-cloak>{{name}} {{age}}</h1>
        <h1>{{name}} {{age}}</h1>
        <!-- 下面的也不会展示小胡子 -->
        <h1 v-text="i"></h1>
        <div v-html='i'></div>

        <!-- 下面的不会进行渲染 -->
        <ul v-pre>
            <li>{{name}}</li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
        </ul>
    </div>
</body>

</html>
<script src="../../node_modules/vue/dist/vue.js"></script>
<script>
    var vm = new Vue({
        el: '#app',
        data: {
            name: "珠峰",
            age: 10,
            i: '<i>hello</i>'
        }
    })
</script>

以上是上面四个指令的练习代码

5、v-on

(1)自己将事件对象作为参数传递

<button @click='fn3($event,item,$event)'>按钮fn3(item,$event)</button>


fn3(e1, item, e2) {
  console.log(e1, item, e2)
}

(2)没有传递参数,获取事件对象

<button @click='fn3()'>按钮fn3()</button>

fn: function fn(e) {
    console.log(this, e)
}