vue的内置指令、自定义指令

内置指令

v-bind: 单向绑定解析表达式,可简写为 :XXX

 v-model:双向数据绑定

 v-for: 遍历数组/对象/字符串

 v-on: 绑定时间监听,可简写为@

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

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

 v-show:条件渲染(动态控制节点是否展示)

 v-text指令:

            1、向其所在的节点中渲染文本内容

            2、写插值语法的区别:v-text会替换掉节点中的内容,{{xxx}}则不会


v-html指令:

          1、作用:向指定节点中渲染包含html结构的内容。

          2、与插值语法的区别:

            (1)、v-html会替换掉节点中所有的内容,{{XX}}则不会

            (2)、v-html可以识别html结构!!

          3、严重注意:

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

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


v-cloak指令(没有值):

          1、本质是一个特殊属性,vue实例创建完毕并接管容器后,会删掉v-cloak属性

          2、使用css配合v-cloak可以解决网速慢时页面展示出{{XXX}}的问题。


v-once指令:

          1、v-once所在节点在初次动态渲染后,就视为静态内容了

          2、以后数据的改变不会引起v-once所在结构的更新,可以用在优化性能。


v-pre指令

          1、跳过其所在节点的编译过程

          2、可利用她跳过:没有使用指令语法、没有使用插值语法的节点,会加快编译。



自定义指令


        一、定义语法

          (1)、局部指令:

                new Vue({

                    directives:{

                        指令名:配置对象

                    }

                })

                或

                new Vue({

                    directives:{

                        指令名(a,b){

                        }

                    }

                })


         

  (2)、全局指令:

                Vue.directive(指令名,配置对象)

                或

                Vue.directive(指令名,回调函数)


        二、配置对象中常用的3个回调:

            (1)、bind:指令与元素成功绑定时调用(一上来)

            (2)、inserted: 指令所在元素被插入页面时调用

            (3)、update: 指令所在模板结构被重新解析时调用

        三、备注:

            1、指令定义时不加v-,但使用时要加v-:

            2、指令名如果是多个单词,要使用kebeb-case命名方式,不要用camelCliass命名。

你可能感兴趣的:(vue的内置指令、自定义指令)