Vue内置指令

  • Post author:
  • Post category:vue


Vue内置指令

1.v-bind

:

单向绑定解析表达式,可简写为:xxX,响应并更新Dom特性(只读不写)

2.v-model:数据双向绑定,用于表单输入内容等(可读可写)

3.v-on    : 绑定事件监听,可简写为@,如v-on:click

4.v-for : 遍历数组/对象/如符串,例<div v-for=”(item,index) in index”></div>

5.v-if: 条件渲染(动态控制节点是否存存在)

6.v-else-if  : 条件渲染,必须与if连用,多层级判断(动态控制节点是否存存在)

7.v-else : 条件渲染,必须与if连用(动态控制节点是否存存在)

8.v-show  : 条件渲染(动态控制节点是否展示 添加style属性)

9.v-text,作用:向其所在的节点中渲染文本内容,

与差值语法的区别:v-text会替换节点中的内容,{

{xx}}不会,如<div v-text=”str”></div>

获取的内容是:<h2>你好</h2>

    <!-- v-text指令 -->
        
    <div id="app">
          <div>你好,{{name}}</div>
          <div v-text="name"></div>
          <div v-text="str"></div>
    </div>
<script type="text/javascript" src="../js/vue.js"></script>
<script type="text/javascript">
    Vue.config.productionTip = false

    new Vue({
    el:'#app',
    data:{
      name:'张三',
      str:'<h2>你好</h2>'
    }
  })
</script>

10.v-html: 作用:向指定节点中渲染包含html结构的内容。

与插值语法的区别:

(1).v-html会替换掉节点中所有的内容,{

{xx}}则不会。

(2).v-html可以识别htm1结构。


严重注意: v-html有安全性问题!!!!

(1).在网站上动态渲染任意HTML是非常危险的,容易导致XSS攻击。

(2).一定要在可信的内容上使用v-html,永不要用在用户提交的内容上!

获取的内容是:

你好

<!-- v-html指令 -->
<div id="app">
  <div>你好,{{ name }}</div>
  <div v-html="str"></div>
</div>
<script type="text/javascript" src="../js/vue.js"></script>
<script type="text/javascript">
    Vue.config.productionTip = false

    new Vue({
    el:'#app',
    data:{
      name:'张三',
      str:'<h2>你好</h2>'
    }
  })
</script>

11. v-cloak(没有值):

其本质是一个特殊属性,Vue实例创建完毕接管容器后,会删掉v-cloak属性。

需使用css配合v-cloak可以解决网速慢时页面展示出{

{xxx}}的问题。

    <style>
        [v-cloak]{
            display: node;
        }
    </style>

    <!-- v-cloak指令 -->
    <div><h2 v-cloak>{{name}}</h2></div>

12.v-once:只渲染一次,在节点在初次动态渲染后元素就被当成静态内容不再渲染了,可以用        于优化性能。

13.v-pre:跳过这个元素的编译过程,没有使用指令语法、没有使用插值语法的节点,会加快编译



版权声明:本文为Li18770760152原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。