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-image-crop基于Vue的移动端图片裁剪组件示例

    vue-image-crop基于Vue的移动端图片裁剪组件示例

    这篇文章主要介绍了vue-image-crop基于Vue的移动端图片裁剪组件示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08
  • Vue Hook Event 深度解读

    Vue Hook Event 深度解读

    Hook Event 是 Vue 的自定义事件结合生命周期钩子实现的一种从组件外部为组件注入额外生命周期方法的功能,本文重点给大家介绍Vue Hook Event 解读,感兴趣的朋友一起看看吧
    2023-01-01
  • vue 解决数组赋值无法渲染在页面的问题

    vue 解决数组赋值无法渲染在页面的问题

    今天小编就为大家分享一篇vue 解决数组赋值无法渲染在页面的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • 浅谈Vue.js 关于页面加载完成后执行一个方法的问题

    浅谈Vue.js 关于页面加载完成后执行一个方法的问题

    这篇文章主要介绍了Vue.js 关于页面加载完成后执行一个方法的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • vue使用CSS变量详解

    vue使用CSS变量详解

    文章讲解了如何在Vue项目中使用CSS变量,包括动态计算值和根据条件计算属性,通过示例展示了如何使用CSS变量来实现动画效果和动态样式
    2025-12-12
  • Vue学习笔记之跨域的6种解决方案

    Vue学习笔记之跨域的6种解决方案

    在前后端分离项目中,跨域是一定会出现的问题,下面这篇文章主要给大家介绍了关于Vue学习笔记之跨域的6种解决方案,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-04-04
  • 详解Vue、element-ui、axios实现省市区三级联动

    详解Vue、element-ui、axios实现省市区三级联动

    这篇文章主要介绍了Vue、element-ui、axios实现省市区三级联动,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • 二次封装element ui pagination组件方式

    二次封装element ui pagination组件方式

    文章总结了在Vue2中二次封装Element UI Pagination组件的过程,包括HTML、JS和CSS部分的代码示例,作者分享了个人经验,旨在为读者提供参考,并鼓励大家支持脚本之家
    2025-11-11
  • Vue配合Django使用方式

    Vue配合Django使用方式

    Vue.js是前端三大框架之一,以其轻巧、高性能的特性脱颖而出,Vue.js专注于构建数据驱动的Web界面,采用渐进式设计,易于上手,支持组件化开发,核心功能包括响应式数据绑定和视图组件的组合,Vue还提供了生命周期、事件绑定等多种功能,支持ES6语法
    2024-09-09
  • vue中使用vuex的超详细教程

    vue中使用vuex的超详细教程

    这篇文章主要介绍了vue中使用vuex的超详细教程,给大家介绍vue项目怎么使用,非常适合初学者使用,保存数据以及获取数据,本文给大家介绍的非常详细,需要的朋友可以参考下
    2022-08-08

最新评论