4.14 全局注册数据pushWithoutDuplicate方法 + vue-create-api包使用

1、 vuex的数据修改,只能通过action派发mutations执行,
但是对于state数组对象的数据添加,却可以使用 push,直接操作vuex

2、习惯了在老师实现之前先尝试。
遇到一个问题,就是对数组push对象,但是不想让重复对象push。我的第一反应就是写if else 以及遍历原先数据检查对象是否存在,代码如下。
在这里插入图片描述
成功了,但是看了老师的实现代码。发觉改变本质才是关键。

在这里插入图片描述
不明觉厉,档次飞跃。惭愧惭愧,不学无术,不思进取,陋习,摒弃,努力。
这几行代码引入了ecma新特性 arguments是指向传入数组的新参数, this只带的是调用这个方法或者函数的拥有者。
然后再入口文件main.js import全局注册该方法。在这里插入图片描述
一行代码走天下。需要if else吗?
3、props传递需要时间,this.$nextTick()让dom渲染完再加载函数。
在这里插入图片描述
立刻触发refresh,但bottom是传递,通过props接收,无法立刻接收
4、props若是引用(比如数组类型),那么直接改变其中的元素,是正确的操作。但是绝对不能修改其引用(数组本身,对象本身),只能修改其中的元素

5、vue-create-api 能让vue组件通过api方式调用
在这里插入图片描述
什么意思呢?
传统的vue组件调用,需要定义组件,引入组件,注册组件,使用组件
四大步骤缺一不可。

接下来就是vue-create-api 的使用与强大之处。

先在main.js中import该模块

在这里插入图片描述在这里插入图片描述
注:1、模块Toast起名是根据component的name属性起名的。不可以随便起名。采用帕斯卡命名法。
注:2、当模块注册后,会自动生成一个 createAPI的方法,去全局注册你的组件。
并且扩展一个$createXxx方法。(注Xxx对应的是组件的name)如下:

在组件的方法中,直接调用
在这里插入图片描述
先完成dom的创建,再通过组件自身的show()方法显示组件在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值