<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[bright789的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/bright789</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; bright789]]></copyright><item><title><![CDATA[@ObjectLink与@Observed的实践笔记]]></title><link>https://blog.youkuaiyun.com/bright789/article/details/141890712</link><guid>https://blog.youkuaiyun.com/bright789/article/details/141890712</guid><author>bright789</author><pubDate>Wed, 04 Sep 2024 13:50:42 +0800</pubDate><description><![CDATA[ObjectLink只能管当前Component Object，如果里面还嵌套的话，还得再使用子Component，继续分，如果不使用子Component+@ObjectLink的话，我试了下，数据可以正常改，也会各处去同步，但ui不更新！因为@Observed修饰的是类，那么后面的出初化/操作，都得使用Class类来操作，不能使用对象字面量表示法，不然感知不到，如。this.p.address = {"province":"河北","city":"张家界","area":"某某区"}]]></description><category></category></item><item><title><![CDATA[状态管理中@Link和$$的区别]]></title><link>https://blog.youkuaiyun.com/bright789/article/details/141837846</link><guid>https://blog.youkuaiyun.com/bright789/article/details/141837846</guid><author>bright789</author><pubDate>Tue, 03 Sep 2024 07:40:35 +0800</pubDate><description><![CDATA[大家都知道，父@State与子@Link，这样搭配是可以实现父数据变化，子组件的相应变量也会更新，子组件的变量变化了，父组件的也相应的变量，俗称“双向绑定”(Two-way binding)，但我发现一个问题，拥有此功能的还有一个$$，这就让我产生了疑问，它们两们有什么区别？当TextInput使用$$时，使用输入法改变TextInput的值，cusername也会改变，cusername变时，也会同步给TextInput,实现了双向绑定。Text(`子组件用户名:${this.cusername}`)]]></description><category></category></item><item><title><![CDATA[新版Glide检测生命周期原理]]></title><link>https://blog.youkuaiyun.com/bright789/article/details/140568902</link><guid>https://blog.youkuaiyun.com/bright789/article/details/140568902</guid><author>bright789</author><pubDate>Sat, 20 Jul 2024 12:06:41 +0800</pubDate><description><![CDATA[新版Glide检测生命周期原理已经变了，因为系统开发已经使用JetPack Compose，它有新的生命周期监听机制，旧的还是使用空白Fragment绑定监听，看到网上资料也少，所以记录下自己的学习成果]]></description><category></category></item><item><title><![CDATA[【HarmonyOS】模拟器一直停留在开机页面，无法进入手机桌面]]></title><link>https://blog.youkuaiyun.com/bright789/article/details/140019062</link><guid>https://blog.youkuaiyun.com/bright789/article/details/140019062</guid><author>bright789</author><pubDate>Thu, 27 Jun 2024 17:38:41 +0800</pubDate><description><![CDATA[(Device Manager)设备管理----选中某个模拟器---Actions---Wipe User Data----确定。开发者工具:DevEco Studio NEXT Developer Beta1。这个可能是音频的开关或者驱动没有安装好，可以先试试按这个解决方向去解决。重启后就解决了，我看网络上也有一些开发者碰到了。环境:window 10,]]></description><category></category></item><item><title><![CDATA[前端面试01总结]]></title><link>https://blog.youkuaiyun.com/bright789/article/details/137776917</link><guid>https://blog.youkuaiyun.com/bright789/article/details/137776917</guid><author>bright789</author><pubDate>Mon, 15 Apr 2024 13:10:10 +0800</pubDate><description><![CDATA[答:computed使用在一个属性变量依赖其它变量时，当其它变量改变时它也会随着改变(例子算购物车总价，列表总条数)，并且它有缓存和初始值，有返回值，多次调用不会重新计算，效率更高，而watch更关注监听变量的变化，当变量时，可以做某些事(如发送网络请求)，它有个deep属性，用来监听对象(deep:true，相应的固定名处理函数handler())，不太关心函数返回值，再函数里面也不要改变监听的值，不然容易引起死循环；在 Vue 中，watch 选项使你可以监听特定的数据源，并在其变动时执行函数。]]></description><category></category></item><item><title><![CDATA[vscode的源码插件GitHub Repositories]]></title><link>https://blog.youkuaiyun.com/bright789/article/details/137423680</link><guid>https://blog.youkuaiyun.com/bright789/article/details/137423680</guid><author>bright789</author><pubDate>Sat, 06 Apr 2024 11:19:51 +0800</pubDate><description><![CDATA[打铁还需自身硬，需要不断提升自我，提升自我的一种方式就是看源码，站在更高的维度去理解底层原理，以便以后更好的开发和解决问题，由于源码一个动不动就是几个G甚至十几个G，如果一个个源码下载下来，那对咱们的网络和硬盘空间带来巨大的挑战，下面就介绍下vscode看前端工具GitHub Repositories看源码的路子，有点按需加载的意思，方便，快速，也希望通过源码的学习，大家能提升自我：需要github登录：github源码列表:]]></description><category></category></item><item><title><![CDATA[npm mongoose包下载冲突&解决之道]]></title><link>https://blog.youkuaiyun.com/bright789/article/details/137175808</link><guid>https://blog.youkuaiyun.com/bright789/article/details/137175808</guid><author>bright789</author><pubDate>Sat, 30 Mar 2024 16:11:44 +0800</pubDate><description><![CDATA[但我看了同事给我的,他的node_modules\mongoose\package.json "version": "5.13.21",就是5.xx.xx,不是4.xx.xx,从上面的错误看出来还有一个--force参数,可以强制成某个版本如下图。我看了node_modules\mongoose-auto-increment\package.json的依赖,这句表示"mongoose": "^4.1.12",mongoose只能是4.x.x了,如果是5.x.x和6.x.x是不行的。]]></description><category></category></item><item><title><![CDATA[后台应用碰到Error:read ECONNRESET at TCP.onStreamRead(node:internal/stream base commons:217:20)错误怎么办？]]></title><link>https://blog.youkuaiyun.com/bright789/article/details/137146133</link><guid>https://blog.youkuaiyun.com/bright789/article/details/137146133</guid><author>bright789</author><pubDate>Fri, 29 Mar 2024 15:32:12 +0800</pubDate><description><![CDATA[要回答这个问题，得搞清楚以后，报这个错误后，后台应用还能不能再需要时再起connect 到mysql，答案是可以的，那么这里就不算一个问题，只是mysql为了减少闲置资源长期占有系统资源的一种手段。改正它，如果是工具设置的话，就改工具，如果是自动配置的话，就改这个文件，修改后，再看看，应该没有太大问题了。既然有了方向，于是我就在想wait_timeout和interactive_timeout在哪里可以怎么查看到？问题就出在了120这里，单位毫秒:120等于2分钟。查了下网上类似的错误(]]></description><category></category></item><item><title><![CDATA[用原生js实现一个new]]></title><link>https://blog.youkuaiyun.com/bright789/article/details/125630529</link><guid>https://blog.youkuaiyun.com/bright789/article/details/125630529</guid><author>bright789</author><pubDate>Tue, 05 Jul 2022 23:54:40 +0800</pubDate><description><![CDATA[题01:用原生js实现一个new?
答:拿到这个题目，一脸懵逼，咱们平时在开发中，使用到new时一般都是类创建时对象，现在直接不给使用new来实现，不是把简单问题复杂化了？为啥要出这种题？面试官考查面试者的用心在哪里？考查的是什么知识点？
面试官目的：当然是通过考题来测试出面试者的掌握程度从而为公司挑选出适合项目开发的前端人才
面试官的心思：从这个题目来看，主要考查的是面试者对于函数原型的构造过程，理解里面的原理，考查的知识点也比较深，敢出这种题的公司一般都有做库，公众组件等需求，要求面试者熟练掌握函数原型]]></description><category></category></item><item><title><![CDATA[js支持表情不截断不乱码的字符串过长截取后带省略号的方法]]></title><link>https://blog.youkuaiyun.com/bright789/article/details/102569223</link><guid>https://blog.youkuaiyun.com/bright789/article/details/102569223</guid><author>bright789</author><pubDate>Tue, 15 Oct 2019 16:20:48 +0800</pubDate><description><![CDATA[/**参数说明：
*
* 根据长度截取先使用字符串，超长部分追加…
* @param {String} str 对象字符串
* @param {Integer} len 目标字节长度,字母数字算1,表情算2，中文算2
* 返回值： 处理结果字符串
*/
function cutStrWithEllipsis(str, len) {
  var strlen = 0...]]></description><category></category></item><item><title><![CDATA[Clogan/zlib_util.c:67: error: undefined reference to 'deflateInit2_']]></title><link>https://blog.youkuaiyun.com/bright789/article/details/84523298</link><guid>https://blog.youkuaiyun.com/bright789/article/details/84523298</guid><author>bright789</author><pubDate>Mon, 26 Nov 2018 09:37:17 +0800</pubDate><description><![CDATA[美团点评的开源移动端基础日志库在win 7 android studio 3.0.1 ndk 16编译c时会出现一个错误如下 

09:34:48.492 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] D:\test\demos\Logan-Android\app\src\main\cpp\Clogan/zlib_...]]></description><category></category></item><item><title><![CDATA[微信小程序示例使用到了大量的for+i+function+function组合代码到底怎么理解]]></title><link>https://blog.youkuaiyun.com/bright789/article/details/54757724</link><guid>https://blog.youkuaiyun.com/bright789/article/details/54757724</guid><author>bright789</author><pubDate>Fri, 27 Jan 2017 23:55:51 +0800</pubDate><description><![CDATA[在微信小程序示例代码里面使用到了非常多的for+i+function+function这种组合代码，有时看了头晕，到底是什么意思？起什么作用或者说解决什么问题？它跟javascript的closure(闭包)有什么关联？今天我们就来学习一下它。
下面使用一个作为例子：
var toastNum = 3
var pageData ={}
pageData.data ={}
for(var ]]></description><category></category></item><item><title><![CDATA[微信小程序点击编译为什么老是弹出设置框]]></title><link>https://blog.youkuaiyun.com/bright789/article/details/54747935</link><guid>https://blog.youkuaiyun.com/bright789/article/details/54747935</guid><author>bright789</author><pubDate>Thu, 26 Jan 2017 23:20:47 +0800</pubDate><description><![CDATA[在对微信小程序的代码进行了一些调整以后，希望编译运行起来看看，结果却老是弹出自定义预览，要咱们填写启动页面和页面自定义参数等，如下图



即使我们填写了，点击编译，也会弹出，为什么？
 
一开始我也不明白，老是点那个，后来我才发现，这个工具把咱们误导了，这里面有两个相关并不一样的功能，一个是编译运行，一个是编译设置，下面我们来说说它俩。
编译运行是上面的那个图标，它的快捷键是ctr]]></description><category></category></item><item><title><![CDATA[微信小程序带参传递的界面跳转的两种方式]]></title><link>https://blog.youkuaiyun.com/bright789/article/details/54729151</link><guid>https://blog.youkuaiyun.com/bright789/article/details/54729151</guid><author>bright789</author><pubDate>Wed, 25 Jan 2017 12:18:24 +0800</pubDate><description><![CDATA[之前有个微信小程序群友提出一个问题，就是在使用跳转时，在js代码里写带参数界面跳转会出问题，一直搞不定，因为年尾工作忙和事情多的原因，一直没有时间弄，这两天闲下来了，就试了试两种，发现没有问题，于是把它分享出来！
   第一种:使用xwml文件里面在要跳转的views外面加标签, 这里包括一个或者多个view,navigator标签里面有一个url属性，在url属性后面加上key-value参数]]></description><category></category></item><item><title><![CDATA[微信小程序动态的显示或隐藏控件]]></title><link>https://blog.youkuaiyun.com/bright789/article/details/54728326</link><guid>https://blog.youkuaiyun.com/bright789/article/details/54728326</guid><author>bright789</author><pubDate>Wed, 25 Jan 2017 08:28:27 +0800</pubDate><description><![CDATA[在微信小程序开发时，经常要用到一个控件会根据不同的情况和环境动态显示与隐藏这种情况，下面就来实践一把！上效果先



它的实现方法有两种，
第一种方法：单选法，就是隐藏与显示根据条件二选一，代码如下:
{{showView?'bright789_view_show':'bright789_view_hide'}}">
   我是被显示被隐藏控件
 
第二种方法：叠加法，就是先隐藏]]></description><category></category></item><item><title><![CDATA[微信小程序里面的单步调试和变量查看]]></title><link>https://blog.youkuaiyun.com/bright789/article/details/54709594</link><guid>https://blog.youkuaiyun.com/bright789/article/details/54709594</guid><author>bright789</author><pubDate>Tue, 24 Jan 2017 18:32:57 +0800</pubDate><description><![CDATA[在微信小程序开始学习与开发的过程中，总有一些东西，想看看它跑起来的内容与我们编程时想的是否一致，于是就想到了能不能单步调试或者打出一些我们想要的变量的内容，以便我们做进一步的开发和调整，现在我就要介绍下微信小程序的一般用到的调试方法和打印日志以及看到变量里面的运行值。
第一步：打断点，我们必须在我们想要它停下来的地方打上调试断点，点击微信开发者工具的左侧的“调试”tab,然后选择中间窗口中的”S]]></description><category></category></item><item><title><![CDATA[微信小程序让凌乱的代码整齐好看紧凑]]></title><link>https://blog.youkuaiyun.com/bright789/article/details/54579062</link><guid>https://blog.youkuaiyun.com/bright789/article/details/54579062</guid><author>bright789</author><pubDate>Tue, 17 Jan 2017 00:24:21 +0800</pubDate><description><![CDATA[在咱们开发微信小程序或者看别人的代码，有时感觉很凌乱，可能让自己多费时间和精力去弄懂，怎么办？android studio和eclipse工具都有格式化的工具，那么微信web开发者工具有此功能么，当然，下面就来试试吧！
   先上一张处理前的代码图：



   第一步：在右边的代码界面中右键单击(左边要在“编辑”tab)，在出现的菜单中选择“格式化代码”,如下图所示:]]></description><category></category></item><item><title><![CDATA[微信小程序里为什么我设置了数据却不显示]]></title><link>https://blog.youkuaiyun.com/bright789/article/details/54565547</link><guid>https://blog.youkuaiyun.com/bright789/article/details/54565547</guid><author>bright789</author><pubDate>Sun, 15 Jan 2017 23:20:44 +0800</pubDate><description><![CDATA[在学习微信小程序时，我碰到一个坑，就是去网络获取一个列表返回并设置到data里面，在view显示时却显示不出来，弄了半天才发现不能这么设置，所以记录下来并分享给遇到的朋友!
          
    当时的获取列表数据情况：
       wx.request({
           url: 'http://… ',
           method: 'GET',
    ]]></description><category></category></item><item><title><![CDATA[win版git的安装及获取源码踩过的坑(超清晰)]]></title><link>https://blog.youkuaiyun.com/bright789/article/details/53834620</link><guid>https://blog.youkuaiyun.com/bright789/article/details/53834620</guid><author>bright789</author><pubDate>Fri, 23 Dec 2016 06:52:55 +0800</pubDate><description><![CDATA[安卓开发人员在学习到一两年以后就会碰到一个头痛的bug，这时如果想很好的解决，查看源码不失一种好办法，有些源码却不在android.rar中，怎么办？使用git去google源码网：https://android.googlesource.com，clone下载，而网上大部分都是讲mac git的，对于win的开发人员，比较少，所以我就写了一篇简单的git实践文章，让更多的人饶过我踩过的坑！]]></description><category></category></item><item><title><![CDATA[ViewStub的那些事儿]]></title><link>https://blog.youkuaiyun.com/bright789/article/details/53557002</link><guid>https://blog.youkuaiyun.com/bright789/article/details/53557002</guid><author>bright789</author><pubDate>Sat, 10 Dec 2016 10:48:02 +0800</pubDate><description><![CDATA[ViewStub是一个很好用的优化控件,在一些业务复杂,layout里面的各种View很多，而且有很多View都是根据不同情况显示或者隐藏甚至用不到时，如果在Activity启动开始就加载进来时，通过打日志可以看出很慢，经常超过100ms，这样用户在使用软件时会明显感觉到卡，所以今天要介绍一个优化神器—ViewStub
     ViewStub给我第一反应就是它与merge 以及include]]></description><category></category></item></channel></rss>