美文网首页react & vue & angularvue
Vue中的内置指令与自定义指令

Vue中的内置指令与自定义指令

作者: 你怀中的猫 | 来源:发表于2022-07-10 19:32 被阅读0次

一、内置指令

  • 1、v-text指令 :向标签中添加文本

  • 2、v-html指令:向指定恒点中渲染包含html结构的内容。
    2-1、与插值语法的区别:
    (1).v-html会替换掉节点中所有的内容,{{xx}}则不会 。
    (2).v-html可以识别html结构。
    2-2、严重注意: v-html有安全性问题!!!
    (1).在网站上动态演染任查HTML是非常危险的,容易导致XSS攻击。
    (2).定要在可信的内容上使用v-html.永远不要用在用户提交的内容上!

  • 3、v-cloak指令:本质是一个特殊属性。Vue实侧创建完毕并接管容器后。会制掉v-cloak属性,使用css配合v-cloak间以解决网速设时页面展示出{{xxx}}的问题

  • 4、v-once指令:v-once所在节点在初次动态渲染后。就视为静态内容了,以后数据的改动不会引起v-once所在结构的更新。可以用其优化性能。

  • 5、v-pre指令:跳过其所在节点的编译过程。可利用它跳过:没有使用指令语法、没有使用插值语法的节点。会加快编译。

二、自定义指令

  • 1、定义语法:
    (1).局部指令:
new Vue({                               
     directives:{指令名:配置对象}    
})

new Vue({
    directives{指令名:回调两数}
 })   

(2).全局指令:

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

Vue.directive(指令名回调两数)
  • 2、配置对象中常用的3个回调
    (1)、bind:指令与元素成功绑定时调用。
    (2)、inserted:指令所在元素被插入页面时调用.
    (3)、update:指令所在模板结构被重新解析时调用。

  • 3、备注:
    1.指令定义时不加v-。但使用时要加v-;
    2.指令名如果是多个单词,要使用kebab-case命名方式,不要用camelCase命名。

<div id="root">
        <h1>正常值 : <span v-text="num"></span></h1>
        <h1>放大10倍 : <span v-big="num"></span></h1>
        <button @click="num++">点我num+1</button>
        <hr />
        <input type="text" v-bind:value="num" />
        <input type="text" v-fbind:value="num" />
    </div>
<script>
    Vue.config.productionTip = false; //阻止vue在启动时生成生产提示

    // 全局指令
    Vue.directive("fbind", {
        // 指令与元素成功绑定时
        bind(element, binding) {
            console.log("bind");
            element.value = binding.value;
        },
        // 指令所在元素插入页面时
        inserted(element, binding) {
            console.log("inserted");
            element.focus();
        },
        // 指令所在模板被重新解析时
        update(element, binding) {
            console.log("ipdate");
            element.value = binding.value;
        },
    });

    //创建Vue实例
    const vm = new Vue({
        //ViewModel
        el: "#root",
        data: {
            num: 1,
        },
        methods: {},
        directives: {
            // big何时会被调用? 1、指令与元素成功绑定时;2、指令所在的模板被重新解析时
            big(element, binding) {
                element.innerText = binding.value * 10;
                console.log(element, binding.value, this);
                // !!!注意  此处的this指向 window
            },

             fbind:{
                 // 指令与元素成功绑定时
                 bind(element,binding){
                     console.log('bind');
                     element.value = binding.value;
                 },
                 // 指令所在元素插入页面时
                 inserted(element,binding){
                     console.log('inserted');
                     element.focus();
                 },
                 // 指令所在模板被重新解析时
                 update(element,binding){
                     console.log('ipdate');
                     element.value = binding.value;
                 }
             }
        },
    });

    // console.log(vm);
</script>

相关文章

  • Vue-02:

    一.Vue的指令: 分为两大类;内置指令和自定义指令;今天我们就来学习一下Vue的内置指令; 1.>v-for :...

  • VUE初级入门实践

    VUE概述 生命周期 指令 内置指令 自定义指令 过滤器 内置过滤器 VUE1.0版本 VUE2.0版本(无内置过...

  • vue自定义指令

    除了内置的指令外,Vue 也允许注册自定义指令。 vue用Vue.directive(id,definition)...

  • vue知识集锦(三)

    自定义指令 除了核心功能默认内置的指令 (v-model和v-show),Vue 也允许注册自定义指令。尽管Vue...

  • 15. Angular的内置指令(过滤器)

    AngularJS中自定义指令处理 以ng开头的指令都是内置指令。 内置指令是AngularJS已经处理,使用内置...

  • vue自定义指令

    1.Vue自定义指令 除了核心功能默认内置的指令 (v-model 和 v-show等),Vue允许我们注册自定义...

  • 8 个非常实用的 Vue 自定义指令

    在 Vue,除了核心功能默认内置的指令 ( v-model 和 v-show ),Vue 也允许注册 自定义指令...

  • Vue 自定义指令 案列

    在 Vue,除了核心功能默认内置的指令 ( v-model 和 v-show ),Vue 也允许注册 自定义指令。...

  • 3.Vue之自定义指令(钩子函数,实例属性)

    介绍 除了内置指令,Vue.js 也允许注册自定义指令。自定义指令提供一种机制将数据的变化映射为 DOM 行为。可...

  • vue-自定义指令学习笔记

    简介 除了核心功能默认内置的指令,Vue也可以注册自定义指令。注意,在Vue2.0中,代码复用和抽象的主要形式是组...

网友评论

    本文标题:Vue中的内置指令与自定义指令

    本文链接:https://www.haomeiwen.com/subject/mennbrtx.html