加入收藏 | 设为首页 | 会员中心 | 我要投稿 潍坊站长网 (https://www.0536zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 外闻 > 正文

必读的Python书籍

发布时间:2021-02-12 16:26:55 所属栏目:外闻 来源:互联网
导读:mixins, 更高效的实现组件内容的复用 mixins是Vue提供的一种混合机制,用来更高效的实现组件内容的复用。怎么去理解混入呢,我觉得和Object.assign,但实际与Object.assign又有所不同。 基本示例 在开发echarts图表组件时,需要在窗口尺寸发生变化时,重置

mixins,更高效的实现组件内容的复用
mixins是Vue提供的一种混合机制,用来更高效的实现组件内容的复用。怎么去理解混入呢,我觉得和Object.assign,但实际与Object.assign又有所不同。

基本示例


在开发echarts图表组件时,需要在窗口尺寸发生变化时,重置图表的大小,此时如果在每个组件里面都去实现一段监听代码,代码重复太多了,此时就可以使用混入来解决这个问题

 

使用.sync,更优雅的实现数据双向绑定
在Vue中,props属性是单向数据传输的,父级的prop的更新会向下流动到子组件中,但是反过来不行。可是有些情况,我们需要对prop进行“双向绑定”。上文中,我们提到了使用v-model实现双向绑定。但有时候我们希望一个组件可以实现多个数据的“双向绑定”,而v-model一个组件只能有一个(Vue3.0可以有多个),这时候就需要使用到.sync。

.sync与v-model的异同
相同点:

两者的本质都是语法糖,目的都是实现组件与外部数据的双向绑定

两个都是通过属性+事件来实现的

不同点(个人观点,如有不对,麻烦下方评论指出,谢谢):

一个组件只能定义一个v-model,但可以定义多个.sync

v-model与.sync对于的事件名称不同,v-model默认事件为input,可以通过配置model来修改,.sync事件名称固定为update:属性名

自定义.sync
在开发业务时,有时候需要使用一个遮罩层来阻止用户的行为(更多会使用遮罩层+loading动画),下面通过自定义.sync来实现一个遮罩层

 

自定义v-model,原来这么简单
在用Vue开发前端时,不论使用原生还是封装好的UI库,对于表单组件,一般都会使用到v-model。虽然v-model是一个语法糖,但是吃到嘴里挺甜的啊。学会自定义v-model,还是很有必要的。

基本用法
一个组件上的v-model默认是通过在组件上面定义一个名为value的props,同时对外暴露一个名为input的事件。

源码:
 

使用require.context实现前端工程自动化
require.context是一个webpack提供的Api,通过执行require.context函数获取一个特定的上下文,主要是用于实现自动化导入模块。

什么时候用?当一个js里面需要手动引入过多的其他文件夹里面的文件时,就可以使用。

在Vue项目开发过程中,我们可能会遇到这些可能会用到require.context的场景

当我们路由页面比较多的时候,可能会将路由文件拆分成多个,然后再通过import引入到index.js路由主入口文件中

当使用svg symbol时候,需要将所有的svg图片导入到系统中(建议使用svg-sprite-loader)

开发了一系列基础组件,然后把所有组件都导入到index.js中,然后再放入一个数组中,通过遍历数组将所有组件进行安装。

对于上述的几个场景,如果我们需要导入的文件比较少的情况下,通过import一个一个去导入还可以接受,但对于量比较大的情况,就变成了纯体力活,而且每次修改增加都需要在主入口文件内进行调整。这时候我们就可以通过require.context去简化这个过程。

现在以上述第三条为例,来说明require.context的用法


 

(编辑:潍坊站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读