返回顶部
首页 > 资讯 > 精选 >Vue进阶构造属性的示例分析
  • 312
分享到

Vue进阶构造属性的示例分析

2023-06-15 02:06:23 312人浏览 泡泡鱼
摘要

小编给大家分享一下Vue进阶构造属性的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、Directive 自定义指令在 Vue 框架下的代码中,很少用到

小编给大家分享一下Vue进阶构造属性的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

1、Directive 自定义指令

在 Vue 框架下的代码中,很少用到原生 DOM 操作,那是因为在 Vue 中将原生 DOM 操作都封装成了指令,例如我们前面见到的 <div v-text="xxx"></div> 指令,其实其内部操作就是:

div.innerText = xxx; //当然这里的 div 是获取得来的 DOM 元素

Vue 将原生 DOM 操作封装成指令,那个元素想使用该指令,直接在 html 模板中的元素标签中当作属性使用就行,简介方便,减少重复。

但是 Vue 毕竟不能把所有 DOM 操作情况都提前考虑进去封装成对应指令,有些 DOM 操作还得开发者在实际中用到时才知道,因此 Vue 便提供了用户自定义指令的方式,大致分为如下两种:

自定义指令和自定义组件类似,也分为全局和局部,下面以自定义一个打印字符 y 的指令 v-y为例讲解:

全局指令

全局属性就是在 Vue 提供的特定函数中注册:

Vue.directive("y", {  inserted: function(el) {    el.addEventListener("click", () => console.log("y"));  }});

局部指令

只能用在定义该指令的 template 里

可以是完整版的 template 属性里

main.js

new Vue({  template:`    <div v-y>      <button>点击</button>    </div>  `,  directives:{    'y':{      inserted: function(el) {        el.addEventListener("click", () => console.log("y"));      }    }  }}).$mount("#app");

或者是非完整版的 .vue 文件的 export default{}里

app.vue

<template>    <div>      <button v-y>点击</button>    </div></template><script>    export default {      directives:{        'y':{          inserted: function(el) {            el.addEventListener("click", () => console.log("y"));          }        }      }    };</script>

directiveOptions

指令对象里有5个函数属性

{    bind: function (el,info,vnode,oldVnode) {}, //元素创建在内存中时执行    inserted: function (参数同上) {}, //元素插入页面时执行    update: function (参数同上) {},     componentUpdated: function (参数同上) {},     unbind: function (参数同上) {} //元素消失时执行}

函数属性的参数中 el 是指调用该指令的元素,info 包含了所有信息,需要时就在 info 中找

2、Mixin 混入

混入的主要目的是为了减少构造选项的重复,可将重复的构造选项的部分抽离出来放到一个单独的 *.js 文件中,然后用 import 导入,再在构造选项中通过 mixins 属性混入。

minxin 是智能混合,会根据添加的混入和当前的选项进行智能混合,而不是单纯的复制。

3、Extends 继承

继承和 minxin 功能差不多,但 extend 更抽象些,二者都是对构造选项的重复进行简化,extend 可以在原有 Vue 的空壳基础上加上自己的定义属性作为固定属性,然后在创建 Vue 对象时使用创建继承了 Vue 的自定义类 MyVue。

Myvue.js

const MyVue = Vue.extend({    minxins: [log]});export default MyVue;

4、provide 和 inject

父代提供共用数据或方法

{    //...    provide(){        return {            xx: this.changexx,            yy: this.changeyy        }    },    methods:{        changexx(){            //...        },        changeyy(){            //...        }    }}

后代注入东西对数据修改

{    inject: ["changexx", "changeyy"]}

和 .sync 修饰符的作用有点像,但比 .sync 要广泛。

vue是什么

Vue是一套用于构建用户界面的渐进式javascript框架,Vue与其它大型框架的区别是,使用Vue可以自底向上逐层应用,其核心库只关注视图层,方便与第三方库和项目整合,且使用Vue可以采用单文件组件和Vue生态系统支持的库开发复杂的单页应用。

以上是“Vue进阶构造属性的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: Vue进阶构造属性的示例分析

本文链接: https://lsjlt.com/news/276855.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Vue进阶构造属性的示例分析
    小编给大家分享一下Vue进阶构造属性的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、Directive 自定义指令在 Vue 框架下的代码中,很少用到...
    99+
    2023-06-15
  • 详解Vue进阶构造属性
    目录1、Directive 自定义指令2、Mixin 混入3、Extends 继承4、provide 和 inject1、Directive 自定义指令 在 Vue 框架下的代码中,...
    99+
    2024-04-02
  • vue-router append属性的示例分析
    这篇文章将为大家详细讲解有关vue-router append属性的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 append 类型: boolean 默...
    99+
    2024-04-02
  • mybatis属性的示例分析
    这篇文章给大家分享的是有关mybatis属性的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。前言MyBatis是基于“数据库结构不可控”的思想建立的,也就是我们希望数据库...
    99+
    2024-04-02
  • python属性的示例分析
    这篇文章主要介绍了python属性的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。属性(property)##不推荐 class&n...
    99+
    2024-04-02
  • HTML进阶知识的示例分析
    小编给大家分享一下HTML进阶知识的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!文档类型HTML5 <!DOCT...
    99+
    2024-04-02
  • composer进阶命令的示例分析
    这篇文章将为大家详细讲解有关composer进阶命令的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。composer 进阶命令composer dumpautoload当更新了项目composer...
    99+
    2023-06-14
  • Pytorch进阶操作的示例分析
    小编给大家分享一下Pytorch进阶操作的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、合并与分割1.cat拼接直接按照指定的dim维度进行合并,要求...
    99+
    2023-06-25
  • Vue路由对象属性.meta $route.matched的示例分析
    这篇文章主要介绍Vue路由对象属性.meta $route.matched的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!$route.fullPath1 路由是:/path...
    99+
    2024-04-02
  • CSS属性MASK的示例分析
    小编给大家分享一下CSS属性MASK的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!顾名思义,mask 译为遮罩。在 CSS 中,mask 属性允许使用者通过遮罩或者裁切特定区域的图片的方式来隐藏一个元素的部分或者...
    99+
    2023-06-08
  • CSS属性之定位属性的示例分析
    小编给大家分享一下CSS属性之定位属性的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!CSS的定位属性有三种,分别是绝对定位、相对定位、固定定位。posi...
    99+
    2023-06-08
  • vuex进阶知识点的示例分析
    这篇文章将为大家详细讲解有关vuex进阶知识点的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、 Gettercomputed:{   ge...
    99+
    2024-04-02
  • Vue中属性、方法、生命周期的示例分析
    这篇文章主要介绍了Vue中属性、方法、生命周期的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。实例<!DOCTYPE ...
    99+
    2024-04-02
  • HTML全局属性的示例分析
    这篇文章主要为大家展示了“HTML全局属性的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“HTML全局属性的示例分析”这篇文章吧。   &n...
    99+
    2024-04-02
  • HTML属性与值的示例分析
    这篇文章主要介绍了HTML属性与值的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 1.属性是用来修饰元素的 属性必须位于开始标...
    99+
    2024-04-02
  • css3过渡属性的示例分析
    这篇文章将为大家详细讲解有关css3过渡属性的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。     多项改变    ...
    99+
    2024-04-02
  • CSS属性text-overflow的示例分析
    这篇文章主要为大家展示了“CSS属性text-overflow的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“CSS属性text-overflow的示例...
    99+
    2024-04-02
  • CSS列表属性的示例分析
    这篇文章主要介绍了CSS列表属性的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 CSS 列表 从某种含意上讲,不是描摹性的文本...
    99+
    2024-04-02
  • CSS定位属性的示例分析
    这篇文章给大家分享的是有关CSS定位属性的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。   1.定位的专业解释   (1)语法   position:static...
    99+
    2024-04-02
  • html5全局属性的示例分析
    这篇文章主要介绍了html5全局属性的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.accesskey accesskey属性允...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作