<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[limpid_changli的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/limpid_changli</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; limpid_changli]]></copyright><item><title><![CDATA[vue与原生js交互]]></title><link>https://blog.youkuaiyun.com/limpid_changli/article/details/145777830</link><guid>https://blog.youkuaiyun.com/limpid_changli/article/details/145777830</guid><author>limpid_changli</author><pubDate>Fri, 21 Feb 2025 16:41:43 +0800</pubDate><description><![CDATA[vue与原生js交互
]]></description><category></category></item><item><title><![CDATA[2023前端面试总结含参考答案（一）]]></title><link>https://blog.youkuaiyun.com/limpid_changli/article/details/128872903</link><guid>https://blog.youkuaiyun.com/limpid_changli/article/details/128872903</guid><author>limpid_changli</author><pubDate>Fri, 10 Feb 2023 18:13:57 +0800</pubDate><description><![CDATA[面试总结]]></description><category></category></item><item><title><![CDATA[数组常用方法（2）---数组遍历方法]]></title><link>https://blog.youkuaiyun.com/limpid_changli/article/details/107735487</link><guid>https://blog.youkuaiyun.com/limpid_changli/article/details/107735487</guid><author>limpid_changli</author><pubDate>Fri, 10 Feb 2023 18:13:01 +0800</pubDate><description><![CDATA[数组遍历方法---高阶函数]]></description><category></category></item><item><title><![CDATA[递归-递归案例代码、根据子级查所有父级示例代码]]></title><link>https://blog.youkuaiyun.com/limpid_changli/article/details/125189578</link><guid>https://blog.youkuaiyun.com/limpid_changli/article/details/125189578</guid><author>limpid_changli</author><pubDate>Mon, 06 Feb 2023 15:30:00 +0800</pubDate><description><![CDATA[递归案例]]></description><category></category></item><item><title><![CDATA[伪类和伪元素]]></title><link>https://blog.youkuaiyun.com/limpid_changli/article/details/128871057</link><guid>https://blog.youkuaiyun.com/limpid_changli/article/details/128871057</guid><author>limpid_changli</author><pubDate>Fri, 03 Feb 2023 17:01:12 +0800</pubDate><description><![CDATA[伪类和伪元素]]></description><category></category></item><item><title><![CDATA[对vue中$set的粗略理解]]></title><link>https://blog.youkuaiyun.com/limpid_changli/article/details/118930763</link><guid>https://blog.youkuaiyun.com/limpid_changli/article/details/118930763</guid><author>limpid_changli</author><pubDate>Tue, 20 Jul 2021 15:31:04 +0800</pubDate><description><![CDATA[这是官方相关文档~
点我点我：Vue.set
用法：向响应式对象中添加一个 property（属性），并确保这个新 property 同样是响应式的，且触发视图更新。它必须用于向响应式对象上添加新 property，因为 Vue 无法探测普通的新增 property (比如 this.myObject.newProperty = ‘hi’)
Vue 不允许在已经创建的实例上动态添加新的根级响应式属性 (root-level reactive property)。然而它可以使用 Vue.set(object,]]></description><category></category></item><item><title><![CDATA[对vue中nextTick原理的粗略理解]]></title><link>https://blog.youkuaiyun.com/limpid_changli/article/details/118930011</link><guid>https://blog.youkuaiyun.com/limpid_changli/article/details/118930011</guid><author>limpid_changli</author><pubDate>Tue, 20 Jul 2021 11:10:45 +0800</pubDate><description><![CDATA[这是官网nextTick部分相关的文档~
点我：Vue-nextTick
点我：异步更新队列
用法：在下次 DOM 更新循环结束之后执行延迟回调（即回调函数将在 DOM 更新完成后被调用）。在修改数据之后立即使用这个方法，获取更新后的 DOM。
我的理解是这样的~
vue是数据变更驱动视图变更，在数据发生改变后立即获取DOM，此时的DOM是未更新的，而nextTick回调中的操作可以在DOM更新结束之后再执行，从而可以在修改数据之后立即使用这个方法，获取更新后的 DOM。
$nextTick() 返回一个 ]]></description><category></category></item><item><title><![CDATA[SyntaxError: Identifier ‘XXX‘ has already been declared]]></title><link>https://blog.youkuaiyun.com/limpid_changli/article/details/118900903</link><guid>https://blog.youkuaiyun.com/limpid_changli/article/details/118900903</guid><author>limpid_changli</author><pubDate>Mon, 19 Jul 2021 16:29:30 +0800</pubDate><description><![CDATA[检查代码，出现了重复变量。
解决代码冲突的时候，保留了双方变更，导致数据重复了，我吐了~

]]></description><category></category></item><item><title><![CDATA[[vue-i18n] Value of key ‘xx‘ is not a string!]]></title><link>https://blog.youkuaiyun.com/limpid_changli/article/details/118900363</link><guid>https://blog.youkuaiyun.com/limpid_changli/article/details/118900363</guid><author>limpid_changli</author><pubDate>Mon, 19 Jul 2021 16:23:57 +0800</pubDate><description><![CDATA[[vue-i18n] Value of key ‘xx’ is not a string!
这个是多语言文件的警告
因为源数据中存在空的情况，导致语言列表中有空值。$t找不到对应的key。
检查一下语言文件，发现是代码冲突合并的时候选择了保留两者的修改，导致一个文件里面有两份重复的数据，删除掉多余的重复代码之后就正常了。
大家千万要注意这个坑！！！！！

...]]></description><category></category></item><item><title><![CDATA[2023前端面试总结含参考答案（二）]]></title><link>https://blog.youkuaiyun.com/limpid_changli/article/details/116651865</link><guid>https://blog.youkuaiyun.com/limpid_changli/article/details/116651865</guid><author>limpid_changli</author><pubDate>Tue, 11 May 2021 17:31:01 +0800</pubDate><description><![CDATA[文章目录1. 数组去重方法，最简方法。（3）2. this指向（2）3. call、apply和bind4. typeof和instanceof（2）5. 跨域（5）6. 闭包及优点（3）7. 原型链（2）8. js数据类型9. promise（4）10. 组件传值（3）11. 默认事件的阻止方法12. NaN,undefined,null与自身相等吗？13. computed和watch区别
注：括号内的数字为出现频次

1. 数组去重方法，最简方法。（3）
最简：
Array.from(new Set(]]></description><category></category></item><item><title><![CDATA[小程序提交新数据后如何返回上一页并刷新数据？]]></title><link>https://blog.youkuaiyun.com/limpid_changli/article/details/116016397</link><guid>https://blog.youkuaiyun.com/limpid_changli/article/details/116016397</guid><author>limpid_changli</author><pubDate>Thu, 22 Apr 2021 15:28:47 +0800</pubDate><description><![CDATA[uni.navigateBack();
提交完成后返回上一页
需要刷新数据的页面，在onShow里调刷新数据的函数。

两步即可实现数据刷新啦~

]]></description><category></category></item><item><title><![CDATA[横向滚动如何实现？]]></title><link>https://blog.youkuaiyun.com/limpid_changli/article/details/116014748</link><guid>https://blog.youkuaiyun.com/limpid_changli/article/details/116014748</guid><author>limpid_changli</author><pubDate>Thu, 22 Apr 2021 14:57:32 +0800</pubDate><description><![CDATA[1)scroll-view实现
html结构如下：
		&lt;scroll-view class="scroll" scroll-x="true"  style="height: 80px;"&gt;
			&lt;view class="item" v-for="(item,index) in 5" :key="index"&gt;
				&lt;view class="num"&gt;123&lt;/view&gt;
			&lt;/view&gt;
		&lt;/scroll-view&gt;

]]></description><category></category></item><item><title><![CDATA[小程序长列表显示：dom元素超出限制，如何解决空屏问题？]]></title><link>https://blog.youkuaiyun.com/limpid_changli/article/details/116014533</link><guid>https://blog.youkuaiyun.com/limpid_changli/article/details/116014533</guid><author>limpid_changli</author><pubDate>Thu, 22 Apr 2021 14:55:45 +0800</pubDate><description><![CDATA[用于解决长列表dom渲染溢出造成的空白无法显示问题。
思路：借助scroll-view的scroll事件的事件对象中的scrollTop的值判断当前用户可视的第一个元素的index，用v-if控制当前可视元素的前10个item和后10个item渲染，其他的不渲染，达到局部渲染的效果，从而解决dom溢出的问题。item的作用是保留高度，使滚动条保持正常位置。

前提条件是list里面的item的height要一样，才能计算出当前可视的元素的index。
示意图如下：

1)不分页情况
html结构如下：
	&]]></description><category></category></item><item><title><![CDATA[wx.getUserInfo与wx.getUserProfile]]></title><link>https://blog.youkuaiyun.com/limpid_changli/article/details/115912367</link><guid>https://blog.youkuaiyun.com/limpid_changli/article/details/115912367</guid><author>limpid_changli</author><pubDate>Tue, 20 Apr 2021 17:22:56 +0800</pubDate><description><![CDATA[wx.getUserInfo()
官方文档是这样写哒~

参数：

返回值：


]]></description><category></category></item><item><title><![CDATA[小程序登录相关问题]]></title><link>https://blog.youkuaiyun.com/limpid_changli/article/details/115910556</link><guid>https://blog.youkuaiyun.com/limpid_changli/article/details/115910556</guid><author>limpid_changli</author><pubDate>Tue, 20 Apr 2021 16:07:15 +0800</pubDate><description><![CDATA[目前登录流程
首先进入自动登录流程：

wx.login----&gt;拿到js_code
调用后台接口传js_code，小程序标识（appid及密钥，或者将appid及密钥存在服务器，传一个约定好的标识即可）----&gt;拿到openid，unionid
首次登录时isLogin为false，跳转至密码登录，二次登录时isLogin为true，调用后台接口，传openid，unionid------&gt;拿到userid等用户信息，比对返回的用户名是否与存入的用户名一致。
一致则登录成功，不一致则转为]]></description><category></category></item><item><title><![CDATA[小程序授权常见预期表现]]></title><link>https://blog.youkuaiyun.com/limpid_changli/article/details/115892867</link><guid>https://blog.youkuaiyun.com/limpid_changli/article/details/115892867</guid><author>limpid_changli</author><pubDate>Tue, 20 Apr 2021 09:48:33 +0800</pubDate><description><![CDATA[try{
	const authorize = await wx.authorize({scope: 'scope.userInfo'})
	console.log(authorize,'authorize');
}catch(e){
	console.log(e);
}

预期表现：

同意授权：

拒绝授权：

拒绝后再次调用authorize：

授权信息为空：（见于用户刚进入时调用wx.getUserInfo）

无效的scope：（scope列表中没有这个值）



...]]></description><category></category></item><item><title><![CDATA[小程序官方异步api变同步：增强编译]]></title><link>https://blog.youkuaiyun.com/limpid_changli/article/details/115892758</link><guid>https://blog.youkuaiyun.com/limpid_changli/article/details/115892758</guid><author>limpid_changli</author><pubDate>Tue, 20 Apr 2021 09:33:46 +0800</pubDate><description><![CDATA[官方的异步api可以变为同步，方法如下：
打开开发者工具→详情→本地设置→增强编译

兼容性没有测试过，目前来说是没啥问题的，有bug滴滴我啊~

]]></description><category></category></item><item><title><![CDATA[小程序更新问题：新版本发布后为什么不更新？]]></title><link>https://blog.youkuaiyun.com/limpid_changli/article/details/115865153</link><guid>https://blog.youkuaiyun.com/limpid_changli/article/details/115865153</guid><author>limpid_changli</author><pubDate>Mon, 19 Apr 2021 20:26:47 +0800</pubDate><description><![CDATA[uniapp微信小程序更新检测
官方文档是这样写哒~

解决方法：

右上角详情（三个点那个）→重新进入小程序，重新进入后就是新版本啦~
马上应用最新版本需要在App.vue文件中增加更新代码，代码如下：

// 版本检测更新
        async checkForUpdate() {
            const updateManager = uni.getUpdateManager();
            try {
                await new Promise]]></description><category></category></item><item><title><![CDATA[小程序全量发布与灰度发布]]></title><link>https://blog.youkuaiyun.com/limpid_changli/article/details/115864378</link><guid>https://blog.youkuaiyun.com/limpid_changli/article/details/115864378</guid><author>limpid_changli</author><pubDate>Mon, 19 Apr 2021 15:01:01 +0800</pubDate><description><![CDATA[更新了~
（2021.4.19） 今天看变成了按微信号灰度，看图：

详情如下：


大致就是这样啦~

这里是分割线~

今天又get了一个新知识~
全量发布：发布之后所有的用户都能使用当前最新版本小程序。

注：新发布后的小程序一般会在12-24小时内在客户端更新。详见另一篇文章：小程序更新问题：新版本发布后为什么不更新？

灰度发布：分不同时间段来控制用户使用最新版小程序（又称分阶段发布），即固定时间段的用户会使用最新版小程序。
用于小程序功能太多，用户太多时控制风险。
不过一般的小程序都是全量更新啦]]></description><category></category></item><item><title><![CDATA[小程序的审核与发布]]></title><link>https://blog.youkuaiyun.com/limpid_changli/article/details/108253780</link><guid>https://blog.youkuaiyun.com/limpid_changli/article/details/108253780</guid><author>limpid_changli</author><pubDate>Thu, 27 Aug 2020 10:18:25 +0800</pubDate><description><![CDATA[打开微信开发者工具，点击右上角上传，确定版本信息后点击确定。
打开微信公众平台，点击版本管理，拉到最底部，找到刚刚上传的版本，提交审核，若需要登录操作，需填写测试账号密码，不然会审核不通过。
审核通过后，点击提交发布，全量发布。线上版本就会更新。


...]]></description><category></category></item></channel></rss>