<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Technology_hands的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Technology_hands</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Technology_hands]]></copyright><item><title><![CDATA[ts interface如何定义函数泛型呢？]]></title><link>https://blog.youkuaiyun.com/Technology_hands/article/details/140851259</link><guid>https://blog.youkuaiyun.com/Technology_hands/article/details/140851259</guid><author>Technology_hands</author><pubDate>Thu, 01 Aug 2024 16:53:18 +0800</pubDate><description><![CDATA[如果是一个对象内部有一个函数需要泛型，应该这么写。那么我们想通过interface应该这么写。我们都知道常规的函数定义是这样的。]]></description><category></category></item><item><title><![CDATA[在组件中调用createCanvasContext后ctx.draw画不出来（vue3和uniapp和微信小程序）]]></title><link>https://blog.youkuaiyun.com/Technology_hands/article/details/140772371</link><guid>https://blog.youkuaiyun.com/Technology_hands/article/details/140772371</guid><author>Technology_hands</author><pubDate>Mon, 29 Jul 2024 15:34:07 +0800</pubDate><description><![CDATA[上网查了资料以后，发现 uni.createCanvasContext(CanvansID);在页面中其实默认传了第二个参数this，uni.canvasToTempFilePath也传了this。那么因为我们是vue3，所以引入this应该是这样。请注意vue3的this，要这样获得，并且他叫proxy，并且上下文和获取临时链接都需要加上proxy。我原来在页面中直接写，是可以直接画出来的,是没问题的，然后我把他放到组件中以后就不行了。]]></description><category></category></item><item><title><![CDATA[给uniapp官网的级联选择器（uni-data-picker），添加搜索功能]]></title><link>https://blog.youkuaiyun.com/Technology_hands/article/details/140361191</link><guid>https://blog.youkuaiyun.com/Technology_hands/article/details/140361191</guid><author>Technology_hands</author><pubDate>Thu, 11 Jul 2024 21:01:51 +0800</pubDate><description><![CDATA[函数也增加了两个，一个是搜索后防抖出现搜索结果，另一个就是点击了某个搜索结果后，编辑成源代码需要的格式，并且调用源代码的更新方法即可！2.下载并导入项目以后，是以下这个目录结构，按照这个目录我会告诉各位，我改了哪些文件的哪些代码。总结一下，其实非常简单，html部分新增了一个Input,一个搜索出来的列表的展示。给uniapp官网的级联选择器（uni-data-picker），添加搜索功能。今天是2024/7/11，我下载的版本是2.0.0 （仅兼容了本地数据版本）这就结束了我只更改了一个页面。]]></description><category></category></item><item><title><![CDATA[vue3 按钮权限最新写法使用指令写法控制]]></title><link>https://blog.youkuaiyun.com/Technology_hands/article/details/140253259</link><guid>https://blog.youkuaiyun.com/Technology_hands/article/details/140253259</guid><author>Technology_hands</author><pubDate>Sun, 07 Jul 2024 22:12:52 +0800</pubDate><description><![CDATA[1.在utils创建一个文件夹directive,里面创建一个index.ts和一个authList.ts。2.在utils/directive/authList.ts写入。3.在utils/directive/index.ts写入。我是not和delete权限其中一个有就可以显示。我是edit权限就可以显示。4.在main.ts写入。我是add权限就可以显示。]]></description><category></category></item><item><title><![CDATA[vue3 动态路由设计]]></title><link>https://blog.youkuaiyun.com/Technology_hands/article/details/140177933</link><guid>https://blog.youkuaiyun.com/Technology_hands/article/details/140177933</guid><author>Technology_hands</author><pubDate>Thu, 04 Jul 2024 20:21:55 +0800</pubDate><description><![CDATA[2.这个请求放置在路由守卫（router.beforeEach）next的前面，阻塞next()，当动态组件添加好了在进入页面。这是最基础的逻辑，如果需要用到项目中，需要自行加上判断是是否有token，并跳转到Login页面等等。1.准备一个请求，从后端获取路由数据。]]></description><category></category></item><item><title><![CDATA[width,min-width,max-width三者的区别及如何使用]]></title><link>https://blog.youkuaiyun.com/Technology_hands/article/details/132911291</link><guid>https://blog.youkuaiyun.com/Technology_hands/article/details/132911291</guid><author>Technology_hands</author><pubDate>Fri, 15 Sep 2023 21:25:40 +0800</pubDate><description><![CDATA[3.2建议使用Min-width+max-width，这样的效果就是，默认显示宽度是max-width，自适应的区间是，min-width和max-width之间，小于Min-width就会出现滚动条。所以总结一下，我们只会使用4中形式，单独使用width，单独使用min-width,单独使用max-width，结合min-width和max-width这2个使用。因为是三个属性，会存在，仅用其中一个，或则两个一起用，或则三个一起用的情况，下面我们一一讲解。具体的效果大家可以自己在代码里面试试更有感觉。]]></description><category></category></item><item><title><![CDATA[使用nvm管理管理node版本 出现exit status 1: ��û���㹻��Ȩ��ִ�д˲�����报错]]></title><link>https://blog.youkuaiyun.com/Technology_hands/article/details/132636667</link><guid>https://blog.youkuaiyun.com/Technology_hands/article/details/132636667</guid><author>Technology_hands</author><pubDate>Sat, 02 Sep 2023 12:45:27 +0800</pubDate><description><![CDATA[经过一番研究我才发现，nvm究竟是怎么运作的，他不是设置某个文件夹的node版本，而是你有很多版本，每次要用的时候你都要切换，而且是全局的，全局都会变成这个版本，那么这就很简单了。然后我还以为之后要使用所用的版本要在这个node版本下才能使用node -v这个命令，但是我在这个版本下面创建子文件夹，使用Node竟然无效，这让我十分无语。之前使用了nvm工具，进行创建项目，什么问题都没有，但是很久没有，发现node -v 在以前有用的文件夹有用 现在却没用了。但是却报错  ，这个报错的解决方案是。]]></description><category></category></item><item><title><![CDATA[js 最全this指向 ，代码版]]></title><link>https://blog.youkuaiyun.com/Technology_hands/article/details/132142246</link><guid>https://blog.youkuaiyun.com/Technology_hands/article/details/132142246</guid><author>Technology_hands</author><pubDate>Mon, 07 Aug 2023 10:59:02 +0800</pubDate><description><![CDATA[【代码】js 最全this指向 ，代码版。]]></description><category></category></item><item><title><![CDATA[js 块级作用域及var的缺点（代码版）]]></title><link>https://blog.youkuaiyun.com/Technology_hands/article/details/132119017</link><guid>https://blog.youkuaiyun.com/Technology_hands/article/details/132119017</guid><author>Technology_hands</author><pubDate>Sat, 05 Aug 2023 13:44:18 +0800</pubDate><description><![CDATA[【代码】js 块级作用域及var的缺点（代码版）]]></description><category></category></item><item><title><![CDATA[创建对象的六种方式(包含工厂，原型，构造函数，混合，动态原型)]]></title><link>https://blog.youkuaiyun.com/Technology_hands/article/details/132010236</link><guid>https://blog.youkuaiyun.com/Technology_hands/article/details/132010236</guid><author>Technology_hands</author><pubDate>Sun, 30 Jul 2023 19:17:12 +0800</pubDate><description><![CDATA[【代码】创建对象的六种方式(包含工厂，原型，构造函数，混合，动态原型)]]></description><category></category></item><item><title><![CDATA[原型、原型链、构造函数、实例的关系]]></title><link>https://blog.youkuaiyun.com/Technology_hands/article/details/131981399</link><guid>https://blog.youkuaiyun.com/Technology_hands/article/details/131981399</guid><author>Technology_hands</author><pubDate>Sat, 29 Jul 2023 21:13:49 +0800</pubDate><description><![CDATA[接下来我们继续拓展，由下图可知，其实每一个构造函数的原型还有一个原型（Object.prototype），这个原型是由Object函数创造的，而Object.prototype还有一个原型，那就是null，右边这一条由__protp__连接起来的链条就是就是原型链。好的这下我们就搞清楚原型链了，那么原型链究竟是为了什么设计出来呢，是为了方法和属性的继承，在原型链下方的对象，都会继承原型链上方的方法。接下来我们使用构造函数去创建一个实例对象。我们设置了一个构造函数命名为Fun。接下来我们就来验证一下。]]></description><category></category></item><item><title><![CDATA[vue3 引入echarts]]></title><link>https://blog.youkuaiyun.com/Technology_hands/article/details/131928650</link><guid>https://blog.youkuaiyun.com/Technology_hands/article/details/131928650</guid><author>Technology_hands</author><pubDate>Wed, 26 Jul 2023 00:07:11 +0800</pubDate><description><![CDATA[第二步，当然是按需引入，在根目录的src/common/js下面新建一个echarts.js文件写入（上图红色圈的）第一步,当然是 cnpm install echarts。第三步，在main.js里面写入。第四步，在使用的页面写入。]]></description><category></category></item><item><title><![CDATA[vue3+ts使用自动导入时，使用element-ui的v-loading指令时，出现moudle not found的问题]]></title><link>https://blog.youkuaiyun.com/Technology_hands/article/details/131421554</link><guid>https://blog.youkuaiyun.com/Technology_hands/article/details/131421554</guid><author>Technology_hands</author><pubDate>Tue, 27 Jun 2023 17:17:48 +0800</pubDate><description><![CDATA[*loading-directive).*$/), //修改此处。在网上试了好几种方法，有一个是修改vue.config.js的，那都是错误的！]]></description><category></category></item><item><title><![CDATA[微信小程序支持的纯css瀑布流布局]]></title><link>https://blog.youkuaiyun.com/Technology_hands/article/details/131401239</link><guid>https://blog.youkuaiyun.com/Technology_hands/article/details/131401239</guid><author>Technology_hands</author><pubDate>Mon, 26 Jun 2023 16:56:15 +0800</pubDate><description><![CDATA[写在item的父盒子即可。]]></description><category></category></item><item><title><![CDATA[vue3 TS 并且使用自动引入组件后 引入element-plus的icon 没反应]]></title><link>https://blog.youkuaiyun.com/Technology_hands/article/details/131062339</link><guid>https://blog.youkuaiyun.com/Technology_hands/article/details/131062339</guid><author>Technology_hands</author><pubDate>Tue, 06 Jun 2023 10:24:57 +0800</pubDate><description><![CDATA[然后引入icon的时候怎么都不行，最后在网上一直看各种解决方案突然就行了，贴一下代码。我使用了自动引入组件，如果不了解可以点进去看一下。]]></description><category></category></item><item><title><![CDATA[vue 隐藏部分V-for，达到显示前两条，点击后再显示更多的效果]]></title><link>https://blog.youkuaiyun.com/Technology_hands/article/details/130968316</link><guid>https://blog.youkuaiyun.com/Technology_hands/article/details/130968316</guid><author>Technology_hands</author><pubDate>Wed, 31 May 2023 14:31:27 +0800</pubDate><description><![CDATA[很简单其实就是外面一个v-for，里面一个span,然后给v-show，当index是0或1就一直显示，然后用或者（||）连接，剩下的就由按钮控制，点击了按钮就显示所有的了。]]></description><category></category></item><item><title><![CDATA[小程序 修改v-model值后调用@input，重新赋值并不会修改视图BUG]]></title><link>https://blog.youkuaiyun.com/Technology_hands/article/details/130964328</link><guid>https://blog.youkuaiyun.com/Technology_hands/article/details/130964328</guid><author>Technology_hands</author><pubDate>Wed, 31 May 2023 10:53:02 +0800</pubDate><description><![CDATA[因为你改了this.newName 这个值再去改E（input标签 里面的@input事件）是一个异步事件  在这个异步事件之前已经调用了下一个inputChange，此时赋的值还是之前的值  而使用了$nextTick  可以确保这个方法在所有异步事件之后调用 就可以获取最新的值了。那么，那么导致v-model="newName" 的值确实被我限制在了4个，但是视图并没有发生变化，会越写越多，但是如果我加上了this.$nextTick(() => {那么就正常了，那么为什么会这样呢？]]></description><category></category></item><item><title><![CDATA[关于 Uniapp 获取缓存报错 getstorage:fail:data not found 在开发者工具没有问题 手机预览报错]]></title><link>https://blog.youkuaiyun.com/Technology_hands/article/details/130929982</link><guid>https://blog.youkuaiyun.com/Technology_hands/article/details/130929982</guid><author>Technology_hands</author><pubDate>Mon, 29 May 2023 16:04:43 +0800</pubDate><description><![CDATA[我们存缓存是在首页的onload，里面写了一个console.log(abc)，而abc没有定义，再微信开发者工具中并不会报错，而是打印underfind，而手机预览则会报错，导致onload的后面的代码都没有执行，导致缓存没存进去，导致后面一系列报错。问题：在微信开发者工具中没有问题，真机调试也没有报错，只有打开预览的时候，用手机才会报错。后来发现，是缓存没存上，获取才报了错，那么为什么微信开发者工具存上了，手机预览没有存上呢？]]></description><category></category></item><item><title><![CDATA[css column 瀑布流布局 div 块级元素 会被截掉一半的解决方案]]></title><link>https://blog.youkuaiyun.com/Technology_hands/article/details/130928399</link><guid>https://blog.youkuaiyun.com/Technology_hands/article/details/130928399</guid><author>Technology_hands</author><pubDate>Mon, 29 May 2023 15:34:31 +0800</pubDate><description><![CDATA[再item里面加上in-line：block  即可。上图可知，Div会被截掉，那怎么解决呢？]]></description><category></category></item><item><title><![CDATA[小程序默认登录]]></title><link>https://blog.youkuaiyun.com/Technology_hands/article/details/130850723</link><guid>https://blog.youkuaiyun.com/Technology_hands/article/details/130850723</guid><author>Technology_hands</author><pubDate>Wed, 24 May 2023 17:25:28 +0800</pubDate><description><![CDATA[setAuthorization，其中他的值store.getters.getAuthorization,是在app.vue里面获取的，但是要加到全局的每一个请求方法上，就不能通过普通的页面控制方法，只能一直修改监听请求，直到store.getters.getAuthorization获取到之后，才进行后面的请求。后，会发送到开发者后端，开发者后端通过接口去微信后端换取到openId(名字不一样) 和。(名字不一样)就已经完成登录行为了。接下来我记录一下自己的项目。我们自己的项目还有一个。]]></description><category></category></item></channel></rss>