Vue中内置指令与自定义指令语法详解

 更新时间:2023年08月31日 14:43:34   作者:你怀中的猫  
这篇文章主要为大家介绍了Vue中内置指令与自定义指令语法详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

一、内置指令

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中内置指令与自定义指令语法详解的详细内容,更多关于Vue内置指令自定义指令的资料请关注脚本之家其它相关文章!

相关文章

  • 浅析Vue实例以及生命周期

    浅析Vue实例以及生命周期

    这篇文章给大家分享了Vue实例以及生命周期的相关知识点内容,有兴趣的朋友们可以学习下。
    2018-08-08
  • 解决vue打包css文件中背景图片的路径问题

    解决vue打包css文件中背景图片的路径问题

    今天小编就为大家分享一篇解决vue打包css文件中背景图片的路径问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-09-09
  • axios接口管理优化操作详解

    axios接口管理优化操作详解

    这篇文章主要为大家介绍了axios接口管理优化操作详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • vue3不同语法格式对比的实例代码

    vue3不同语法格式对比的实例代码

    vue3发布已有一段时间了,文档也大概看了一下,不过对于学一门技术,最好的方法还是实战,这篇文章主要给大家介绍了关于vue3不同语法格式对比的相关资料,需要的朋友可以参考下
    2021-08-08
  • Vue批量注册组件实现动态组件技巧

    Vue批量注册组件实现动态组件技巧

    Vue 动态组件的应用场景很多,可应用于动态页签,动态路由等场景,其核心原理是批量注册,在Vue2和Vue3中实现原理相同,只是语法略有差异,本文给大家介绍了Vue批量注册组件实现动态组件技巧,需要的朋友可以参考下
    2024-11-11
  • Vue2 轮播图slide组件实例代码

    Vue2 轮播图slide组件实例代码

    这篇文章主要介绍了Vue2 轮播图slide组件实例代码,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-05-05
  • Vue3之 Vue CLI多环境配置

    Vue3之 Vue CLI多环境配置

    这篇文章主要介绍了Vue3之 Vue CLI多环境配置,通俗点说就是使用配置文件来管理多环境,实现环境的切换,西阿棉详细内容,需要的朋友可以参考一下
    2021-11-11
  • vue项目运行npm install报错问题及解决

    vue项目运行npm install报错问题及解决

    这篇文章主要介绍了vue项目运行npm install报错问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • vue中electron框架自定义外部配置文件的配置与读取办法

    vue中electron框架自定义外部配置文件的配置与读取办法

    使用Electron开发本地跨平台的本地程序时,有时需要添加一些程序的配置文件,下面这篇文章主要给大家介绍了关于vue中electron框架自定义外部配置文件的配置与读取的相关资料,需要的朋友可以参考下
    2023-12-12
  • element日期时间选择器限制时间选择功能实现(精确到小时)

    element日期时间选择器限制时间选择功能实现(精确到小时)

    文章介绍了如何使用Element UI的DateTimePicker组件来实现一个时间选择器,该选择器只能选择当前时间之后的7天,并且不能选择当前小时,感兴趣的朋友跟随小编一起看看吧
    2025-01-01

最新评论