<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[nononoCoder的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/nononoCoder</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; nononoCoder]]></copyright><item><title><![CDATA[mars2d解决底图上下拖动超出边界出现灰色底]]></title><link>https://blog.youkuaiyun.com/nononoCoder/article/details/127257025</link><guid>https://blog.youkuaiyun.com/nononoCoder/article/details/127257025</guid><author>nononoCoder</author><pubDate>Tue, 11 Oct 2022 09:30:35 +0800</pubDate><description><![CDATA[【代码】mars2d解决底图上下拖动超出边界出现灰色底。]]></description><category></category></item><item><title><![CDATA[uniapp将h5链接打包成安卓]]></title><link>https://blog.youkuaiyun.com/nononoCoder/article/details/125298933</link><guid>https://blog.youkuaiyun.com/nononoCoder/article/details/125298933</guid><author>nononoCoder</author><pubDate>Wed, 15 Jun 2022 16:02:35 +0800</pubDate><description><![CDATA[uniapp打包成h5然后将h5链接打包成安卓，用来解决app兼容问题]]></description><category></category></item><item><title><![CDATA[金额正则匹配]]></title><link>https://blog.youkuaiyun.com/nononoCoder/article/details/123084638</link><guid>https://blog.youkuaiyun.com/nononoCoder/article/details/123084638</guid><author>nononoCoder</author><pubDate>Wed, 23 Feb 2022 10:42:19 +0800</pubDate><description><![CDATA[1、拿到最新输入的字符串inputVal
2、定义一个空字符串
3、使用match正则过滤字符串的到符合规则的金额
4、reg != null则将过滤的值赋值到空字符串作为输入金额
5、reg == null时可置空金额，也可以保持旧金额
代码如下：
let inputVal = oldVal
let newVal = '';
let reg = inputVal.match(/\d+\.?\d{0,2}/)
if (reg != null) {
  newVal = reg[0]
}
this.input]]></description><category></category></item><item><title><![CDATA[git常见命令及问题处理]]></title><link>https://blog.youkuaiyun.com/nononoCoder/article/details/122216543</link><guid>https://blog.youkuaiyun.com/nononoCoder/article/details/122216543</guid><author>nononoCoder</author><pubDate>Wed, 29 Dec 2021 15:12:16 +0800</pubDate><description><![CDATA[git常见命令及问题处理]]></description><category></category></item><item><title><![CDATA[vue3源码解读(入门)]]></title><link>https://blog.youkuaiyun.com/nononoCoder/article/details/121783806</link><guid>https://blog.youkuaiyun.com/nononoCoder/article/details/121783806</guid><author>nononoCoder</author><pubDate>Wed, 08 Dec 2021 09:31:32 +0800</pubDate><description><![CDATA[尤雨溪大神解读哔哩哔哩教程
视频内容中的代码：（请结合视频学习，每一部分代码可在浏览器中运行调试）
1、渲染函数小案例
&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
  &lt;meta charset="UTF-8"&gt;
  &lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;
  &lt;title&gt;渲染函数演示&lt;/ti]]></description><category></category></item><item><title><![CDATA[vue3最新后台管理系统]]></title><link>https://blog.youkuaiyun.com/nononoCoder/article/details/121769491</link><guid>https://blog.youkuaiyun.com/nononoCoder/article/details/121769491</guid><author>nononoCoder</author><pubDate>Tue, 07 Dec 2021 15:05:16 +0800</pubDate><description><![CDATA[最新vue3框架后台管理系统]]></description><category></category></item><item><title><![CDATA[vue3中普通文件获取vuex4中state的值]]></title><link>https://blog.youkuaiyun.com/nononoCoder/article/details/121382934</link><guid>https://blog.youkuaiyun.com/nononoCoder/article/details/121382934</guid><author>nononoCoder</author><pubDate>Wed, 17 Nov 2021 17:13:39 +0800</pubDate><description><![CDATA[问题：
由于vuex4使用createStore工厂函数初始化store,且vue使用createApp初始化项目，
所以原来利用this.$store.state来获取数据的方法失效。
解决：利用toRaw函数来将store 返回的proxy类型的数据解析出来
import { toRaw } from '@vue/reactivity'
import store from '../store'

const userInfo = toRaw(store.state.userInfo)

至此得到可用的参]]></description><category></category></item><item><title><![CDATA[小程序animation实现类似每日优鲜加入购物车动画]]></title><link>https://blog.youkuaiyun.com/nononoCoder/article/details/117962858</link><guid>https://blog.youkuaiyun.com/nononoCoder/article/details/117962858</guid><author>nononoCoder</author><pubDate>Wed, 16 Jun 2021 17:35:46 +0800</pubDate><description><![CDATA[效果图：
效果图视频转gif效果较差，实际效果很好哦！
html:
&lt;block wx:for="{{ leftList }}" wx:for-item="item" wx:key="leftList"&gt;
      &lt;view class="goods-item" bindtap="gotoDetails" data-id="{{item.id}}"&gt;
        &lt;image class='page_image class-image class-image-left']]></description><category></category></item><item><title><![CDATA[vue项目实现自定义tabBar组件的封装]]></title><link>https://blog.youkuaiyun.com/nononoCoder/article/details/115894701</link><guid>https://blog.youkuaiyun.com/nononoCoder/article/details/115894701</guid><author>nononoCoder</author><pubDate>Tue, 20 Apr 2021 10:19:26 +0800</pubDate><description><![CDATA[首先感谢王红元老师的vue课程，从中受益良多。特别是在目录结构的划分、组件封装思想上受到了很大启发，下面为大家带来一个tabBar的组件封装。
一、创建一个存放公共组件的文件夹，里面再新建一个tabbar的文件夹。里面创建两个.vue文件：TabBar.vue和TabBarItem.vue  如图：

1、TabBar.vue代码展示：
&lt;template&gt;
    &lt;div class="tab-bar"&gt;
      &lt;slot&gt;&lt;/slot&gt;
    &]]></description><category></category></item><item><title><![CDATA[mongodb设置超级管理员，设置用户名密码]]></title><link>https://blog.youkuaiyun.com/nononoCoder/article/details/115391777</link><guid>https://blog.youkuaiyun.com/nononoCoder/article/details/115391777</guid><author>nononoCoder</author><pubDate>Fri, 02 Apr 2021 10:18:54 +0800</pubDate><description><![CDATA[设置超级管理员
设置 admin（$use admin切换到admin数据库）
use admin  
db.createUser({
  user: 'admin',  // 用户名
  pwd: '123456',  // 密码
  roles:[{
    role: 'root',  // 角色
    db: 'admin'  // 数据库
  }]
})

设置完成，可以输入 show users 查看是否设置成功，如下：

开启验证
找到 MongoDB 安装目录，打开 mongod.cfg文]]></description><category></category></item><item><title><![CDATA[vue中mescroll.js插件的mixins封装方法]]></title><link>https://blog.youkuaiyun.com/nononoCoder/article/details/114539736</link><guid>https://blog.youkuaiyun.com/nononoCoder/article/details/114539736</guid><author>nononoCoder</author><pubDate>Mon, 08 Mar 2021 17:40:29 +0800</pubDate><description><![CDATA[1、mescroll官网链接：http://www.mescroll.com/
2、vue项目中引入mescroll的方法
1.安装mescroll依赖   npm install --save mescroll.js
2.vue中的main.js文件中引入mescroll
import MescrollVue from 'mescroll.js/mescroll.vue'
import 'mescroll.js/mescroll.min.css'
Vue.component("mescroll-vue",]]></description><category></category></item><item><title><![CDATA[javaScript金额保留两位有效数字的坑与解决方法]]></title><link>https://blog.youkuaiyun.com/nononoCoder/article/details/114368046</link><guid>https://blog.youkuaiyun.com/nononoCoder/article/details/114368046</guid><author>nononoCoder</author><pubDate>Thu, 04 Mar 2021 14:45:51 +0800</pubDate><description><![CDATA[javaScript金额保留两位有效数字的坑与解决方法
1、输入框的正则表达式：
var reg = e.detail.value.match(/\d+\.?\d{0,2}/);
let val = '';
if (reg != null) {
  val = reg[0];
}

2、关于保留两位有效数字的坑：
若采用向下取整方法Math.floor(num * 100) / 100，会在输入为3**.03时得到3**.02和再输入为3**.09时得到3**.08的问题
解决办法：
toFix: func]]></description><category></category></item><item><title><![CDATA[小程序自定义导航之标题随页面滚动左右移动动画效果]]></title><link>https://blog.youkuaiyun.com/nononoCoder/article/details/109071728</link><guid>https://blog.youkuaiyun.com/nononoCoder/article/details/109071728</guid><author>nononoCoder</author><pubDate>Wed, 14 Oct 2020 14:03:38 +0800</pubDate><description><![CDATA[默认状态下标题居中
屏幕上滑标题向左移动图像变大
屏幕上滑到设定值图像大小固定，标题位置固定
代码如下：
页面json文件设置为自定义模式
{
  "navigationBarTitleText": "标题栏",
  "navigationStyle": "custom",
  "navigationBarTextStyle": "black",
  "usingComponents": {
  }
}

wxml文件：
//导航栏样式
&lt;view class="pageNavBg" style="h]]></description><category></category></item><item><title><![CDATA[小程序携带参数返回历史页面解决办法]]></title><link>https://blog.youkuaiyun.com/nononoCoder/article/details/108334645</link><guid>https://blog.youkuaiyun.com/nononoCoder/article/details/108334645</guid><author>nononoCoder</author><pubDate>Tue, 01 Sep 2020 09:44:31 +0800</pubDate><description><![CDATA[let pages = getCurrentPages(); //获取当前页面js里面的pages里的所有信息。
let prevPage = pages[ pages.length - 2 ];
//prevPage 是获取上一个页面的js里面的pages的所有信息。 -2 是上一个页面，-3是上上个页面以此类推。
prevPage.setData({  // 将我们想要传递的参数在这里直接setData。上个页面就会执行这里的操作。
id:e.currentTarget.dataset.id,

ist]]></description><category></category></item><item><title><![CDATA[小程序页面布局之单列、双列、三列、四列]]></title><link>https://blog.youkuaiyun.com/nononoCoder/article/details/106904515</link><guid>https://blog.youkuaiyun.com/nononoCoder/article/details/106904515</guid><author>nononoCoder</author><pubDate>Mon, 22 Jun 2020 16:27:32 +0800</pubDate><description><![CDATA[页面效果图如上所示，废话少说上代码！！！
html:
&lt;view class="rowBox"&gt;
  &lt;view wx:for="{{listData}}" wx:for-item="listDataItem"&gt;
    &lt;!-- 单图 --&gt;
    &lt;view class="rowItem" wx:if="{{listDataItem.type==1}}"&gt;
      &lt;image class="rowOne" wx:for="{{listData]]></description><category></category></item><item><title><![CDATA[小程序上传图片之压缩图片并转base64]]></title><link>https://blog.youkuaiyun.com/nononoCoder/article/details/106756464</link><guid>https://blog.youkuaiyun.com/nononoCoder/article/details/106756464</guid><author>nononoCoder</author><pubDate>Mon, 15 Jun 2020 09:43:07 +0800</pubDate><description><![CDATA[效果图：

说明：当上传图片内存大于100kb时对图片进行压缩处理；
html:
&lt;canvas canvas-id='attendCanvasId' class='myCanvas' style="width:{{imageWidth}}px; height:{{imageHeight}}px"&gt;&lt;/canvas&gt;

&lt;view class="upLoadPicBox"&gt;
  &lt;view class="upLoadPicIconBox" wx:for="{{tem]]></description><category></category></item><item><title><![CDATA[小程序自定义键盘组件之车牌号录入]]></title><link>https://blog.youkuaiyun.com/nononoCoder/article/details/106333695</link><guid>https://blog.youkuaiyun.com/nononoCoder/article/details/106333695</guid><author>nononoCoder</author><pubDate>Mon, 25 May 2020 15:16:26 +0800</pubDate><description><![CDATA[小程序自定义键盘组件之车牌号录入
html:
&lt;view bindtap="showAddCarNumFun"&gt;点击新增车牌号&lt;/view&gt;

&lt;view class="addCarNumBg" wx:if="{{showAddCarNum}}" catchtap="closeAddCarNum"&gt;&lt;/view&gt;
&lt;view class="addCarNumContent" wx:if="{{showAddCarNum}}"&gt;
  &lt;view]]></description><category></category></item></channel></rss>