<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Shuanger112的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Shuanger112</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Shuanger112]]></copyright><item><title><![CDATA[electron-vue中使用serialport串口]]></title><link>https://blog.youkuaiyun.com/Shuanger112/article/details/104395736</link><guid>https://blog.youkuaiyun.com/Shuanger112/article/details/104395736</guid><author>Shuanger112</author><pubDate>Wed, 19 Feb 2020 17:49:58 +0800</pubDate><description><![CDATA[第一步：配置环境
1.安装 Python2.7 配置环境变量（官网下载）看网上说明必须是2.7版本，3不支持
2.安装 npm install --global --production windows-build-tools
3.安装 node-gyp npm install -g node-gyp
第二步：安装
1.安装 serialport npm install --save serial...]]></description><category></category></item><item><title><![CDATA[vue3新特性及和vue2的区别]]></title><link>https://blog.youkuaiyun.com/Shuanger112/article/details/103693523</link><guid>https://blog.youkuaiyun.com/Shuanger112/article/details/103693523</guid><author>Shuanger112</author><pubDate>Wed, 25 Dec 2019 10:13:38 +0800</pubDate><description><![CDATA[vue3新特性：

更快
更小
更易于维护
更多原生支持
更易于开发使用
重写虚拟DOM
优化插槽生成
静态树提升
基于Proxy的观察者机制
使vue更小

1） 以es5为基础，更小更快。（快：Proxy重构虚拟dom功能，小：支持tree-shaking，运行时的最小体积将低于10kb）
2） 支持TS 3.0源码使用TS编写（Typescript）
3）优化插槽生成：
在当前的vue版本中...]]></description><category></category></item><item><title><![CDATA[PIXIJS 文档说明]]></title><link>https://blog.youkuaiyun.com/Shuanger112/article/details/103686921</link><guid>https://blog.youkuaiyun.com/Shuanger112/article/details/103686921</guid><author>Shuanger112</author><pubDate>Tue, 24 Dec 2019 17:59:07 +0800</pubDate><description><![CDATA[PIXI.js
1.安装：
npm install pixi.js

2.引入：
import * as PIXI from 'pixi.js'

3.使用：
几个基本概念：
PIXI应用
首先我们在使用PIXI.js时需要先创建一个PIXI应用，也就是生成一个实例，可以传入相应的参数设置， 此时会生成一个canvas元素，这个元素就是app的view属性，然后需要将创建出来的元素添加到页面中
l...]]></description><category></category></item><item><title><![CDATA[PIXIJS的用法及和canvas区别]]></title><link>https://blog.youkuaiyun.com/Shuanger112/article/details/103684894</link><guid>https://blog.youkuaiyun.com/Shuanger112/article/details/103684894</guid><author>Shuanger112</author><pubDate>Tue, 24 Dec 2019 16:54:42 +0800</pubDate><description><![CDATA[首先需要了解PIXI.js 是什么？ 做什么用的？
在网上查了很多资料，但是有关PIXIJS的内容少之又少，下面我来安利一波~

PIXIJS 是基于svg的矢量图，可用来画二维或三维的图形 canvas是HTML5新增的元素，亦可用来画二维图形。

但是区别是 ：
canvas 画出来的图放大会模糊，会有锯齿状的轮廓，并且我认为最重要的一点是，点击画布中的某一个元素的话，无法直接点击，还需要获取...]]></description><category></category></item><item><title><![CDATA[vue项目中使用H5Plus]]></title><link>https://blog.youkuaiyun.com/Shuanger112/article/details/103684144</link><guid>https://blog.youkuaiyun.com/Shuanger112/article/details/103684144</guid><author>Shuanger112</author><pubDate>Tue, 24 Dec 2019 16:02:21 +0800</pubDate><description><![CDATA[HTML5 Plus应用概述：
H5Plus是一种基于HTML、JS、CSS编写的运行于手机端的App，这种App可以通过扩展的JS API任意调用手机的原生能力，实现与原生App同样强大的功能和性能。
首先拉一套vue-cli的脚手架
vue init webpack project

安装mui
npm i vue-awesome-mui

在main.js 文件中引入
import Mui ...]]></description><category></category></item><item><title><![CDATA[electron + vue 项目运行打包配置文档]]></title><link>https://blog.youkuaiyun.com/Shuanger112/article/details/103683590</link><guid>https://blog.youkuaiyun.com/Shuanger112/article/details/103683590</guid><author>Shuanger112</author><pubDate>Tue, 24 Dec 2019 15:25:04 +0800</pubDate><description><![CDATA[vue-cli 初始化vue项目构建
 vue init webpack project-name

electron 配置源码：

1.	git clone https://github.com/electron/electron-quick-start**
2.	找到clone下来的项目入口文件main.js 和 package.json 修改路径配置**
	main.js :


3.	在已...]]></description><category></category></item><item><title><![CDATA[vue移动端rem适配]]></title><link>https://blog.youkuaiyun.com/Shuanger112/article/details/103683343</link><guid>https://blog.youkuaiyun.com/Shuanger112/article/details/103683343</guid><author>Shuanger112</author><pubDate>Tue, 24 Dec 2019 15:13:13 +0800</pubDate><description><![CDATA[移动端项目rem是必不可少的，在不同系统不同机型下，因屏幕大小尺寸不一样，使得用px单位的页面在移动端显示的不一样。
所以移动端项目才会使用rem单位
首先安装px2rem
npm install px2rem-loader -s
npm install lib-flexible —s

然后在main.js中引入lib-flexible
import 'lib-flexible/flexible...]]></description><category></category></item><item><title><![CDATA[js break、continue和return的区别及用法]]></title><link>https://blog.youkuaiyun.com/Shuanger112/article/details/88655092</link><guid>https://blog.youkuaiyun.com/Shuanger112/article/details/88655092</guid><author>Shuanger112</author><pubDate>Tue, 19 Mar 2019 09:44:10 +0800</pubDate><description><![CDATA[break和continue： 　　
只能在退出循环（如：for、while、for in 等）或者switch语句，在其他地方使用会导致错误
break :会直接退出循环，并且这个循环不再被执行！
continue：会直接跳出本次循环。下次继续执行。
return : 通常为函数的返回值，再无返回值的情况下，return会直接停止代码向下继续进行
break：
 for(var i=1;i&lt...]]></description><category></category></item><item><title><![CDATA[angular ionic 设置滚动条位置（从详情页返回列表页位置不变）]]></title><link>https://blog.youkuaiyun.com/Shuanger112/article/details/88576330</link><guid>https://blog.youkuaiyun.com/Shuanger112/article/details/88576330</guid><author>Shuanger112</author><pubDate>Fri, 15 Mar 2019 15:48:47 +0800</pubDate><description><![CDATA[业务需求：ionic分页加载的页面如从第5页第2条点击进入详情页面，再从详情页面返回至列表页，位置保持与之前进入时一致。
但是angular页面路由跳转会导致页面重载（滚动条位置会刷新到浏览器顶部）
所以！！
技术上的重点就是设置滚动条的位置！
好了，上述都基本是废话。
下面进入正题：

通过审查元素可知 ionic 页面滚动距离是由transform控制的。

要是直接获取页面滚动距离则会一直为...]]></description><category></category></item><item><title><![CDATA[IOS弹出系统键盘后，页面不恢复]]></title><link>https://blog.youkuaiyun.com/Shuanger112/article/details/88572791</link><guid>https://blog.youkuaiyun.com/Shuanger112/article/details/88572791</guid><author>Shuanger112</author><pubDate>Fri, 15 Mar 2019 13:57:35 +0800</pubDate><description><![CDATA[ios中，键盘的弹起，页面会往上挪动，使输入框展示在页面中间，键盘隐藏页面会下挪恢复原状
在6.7.4版本中，不会回挪，这将导致有相对定位（fixed,absolute:相对于浏览器窗体）的节点发生位移，导致节点点击事件偏移而无法选中
解决方案：输入框失去焦点（即键盘隐藏时），手动调整页面，
document.activeElement.scrollIntoViewIfNeeded(true)

...]]></description><category></category></item><item><title><![CDATA[vuex 基本用法]]></title><link>https://blog.youkuaiyun.com/Shuanger112/article/details/88173984</link><guid>https://blog.youkuaiyun.com/Shuanger112/article/details/88173984</guid><author>Shuanger112</author><pubDate>Tue, 05 Mar 2019 11:30:16 +0800</pubDate><description><![CDATA[vuex是什么：
简单来说就是对  应用中组件的状态进行集中式的管理
vuex的核心概念
1.	state

vuex管理的状态对象
它应该是唯一的

 const state = {
 	xxx:initValue
  }

2.	mutations

包含多个state的方法（回调函数）的对象
谁来触发：action中的commit(‘mutation名称’)
注意⚠️：mutations里面...]]></description><category></category></item><item><title><![CDATA[js 根据时区转换日期格式]]></title><link>https://blog.youkuaiyun.com/Shuanger112/article/details/85162011</link><guid>https://blog.youkuaiyun.com/Shuanger112/article/details/85162011</guid><author>Shuanger112</author><pubDate>Fri, 21 Dec 2018 14:48:53 +0800</pubDate><description><![CDATA[js 各个时区时间转换
//得到标准时区的时间的函数
var day = new Date();
getLocalTime(8,day)    		// 北京时间
function getLocalTime(i) {
 
    //参数i为时区值数字，比如北京为东八区则输进8,西5输入-5
 
    if (typeof i !== 'number') return;
 
    //得到19...]]></description><category></category></item><item><title><![CDATA[vue sync修饰符]]></title><link>https://blog.youkuaiyun.com/Shuanger112/article/details/85161606</link><guid>https://blog.youkuaiyun.com/Shuanger112/article/details/85161606</guid><author>Shuanger112</author><pubDate>Fri, 21 Dec 2018 14:29:19 +0800</pubDate><description><![CDATA[我们先看下官方文档 vue 修饰符sync

vue 在 2.0 发布之后的实际应用中，我们发现 .sync
还是有其适用之处，比如在开发可复用的组件库时。我们需要做的只是让子组件改变父组件状态的代码更容易被区分。从 2.3.0 起我们重新引入了
.sync 修饰符，但是这次它只是作为一个编译时的语法糖存在。它会被扩展为一个自动更新父组件属性的 v-on 监听器。

言简意赅的说就是因为子组件不能...]]></description><category></category></item><item><title><![CDATA[vue history模式]]></title><link>https://blog.youkuaiyun.com/Shuanger112/article/details/85000876</link><guid>https://blog.youkuaiyun.com/Shuanger112/article/details/85000876</guid><author>Shuanger112</author><pubDate>Fri, 14 Dec 2018 11:53:02 +0800</pubDate><description><![CDATA[HTML5 History 模式

言简意赅的来说，History模式就是去除掉浏览器地址栏的#号

vue-router 默认 hash 模式 —— 使用 URL 的 hash 来模拟一个完整的 URL，于是当 URL 改变时，页面不会重新加载。
如果不想要很丑的 hash，我们可以用路由的 history 模式，这种模式充分利用 history.pushState API 来完成 URL 跳转...]]></description><category></category></item><item><title><![CDATA[vue获取上一个页面路由]]></title><link>https://blog.youkuaiyun.com/Shuanger112/article/details/84862775</link><guid>https://blog.youkuaiyun.com/Shuanger112/article/details/84862775</guid><author>Shuanger112</author><pubDate>Thu, 06 Dec 2018 18:20:25 +0800</pubDate><description><![CDATA[在某种情况下，我们要获取上一个页面的路由地址
可以使用：
vue-router的beforeRouterEnter钩子
其实也就是一个路由守卫
 beforeRouteEnter(to, from, next) {
   next(vm=&amp;gt;{          //  这里的vm指的就是vue实例，可以用来当做this使用
      console.log(to)
      consol...]]></description><category></category></item><item><title><![CDATA[vue如何获取当前路径url及参数]]></title><link>https://blog.youkuaiyun.com/Shuanger112/article/details/84316571</link><guid>https://blog.youkuaiyun.com/Shuanger112/article/details/84316571</guid><author>Shuanger112</author><pubDate>Wed, 21 Nov 2018 11:55:25 +0800</pubDate><description><![CDATA[有时候开发需要获取当前url的参数
完整url可以用

window.location.href

路由路径可以用

this.$route.path

路由路径参数

this.$route.params
（params是参数名称）

也可以直接watch监听一下当前路由的信息
watch:{
  $route(to, from) {
     console.log(window.locati...]]></description><category></category></item><item><title><![CDATA[localStorage与sessionStorage的区别]]></title><link>https://blog.youkuaiyun.com/Shuanger112/article/details/82773977</link><guid>https://blog.youkuaiyun.com/Shuanger112/article/details/82773977</guid><author>Shuanger112</author><pubDate>Wed, 19 Sep 2018 16:21:32 +0800</pubDate><description><![CDATA[

localStorage的生命周期是永久性的。假若使用localStorage存储数据，即使关闭浏览器，也不会让数据消失，除非主动的去删除数据


sessionStorage 的生命周期是在浏览器关闭前。也就是说，在整个浏览器未关闭前，其数据一直都是存在的。


还有一点：手机本身自带的浏览器不支持sessionStorage的储存方法，所以可以用localStorage代替

...]]></description><category></category></item><item><title><![CDATA[箭头函数与普通函数的区别]]></title><link>https://blog.youkuaiyun.com/Shuanger112/article/details/82463265</link><guid>https://blog.youkuaiyun.com/Shuanger112/article/details/82463265</guid><author>Shuanger112</author><pubDate>Thu, 06 Sep 2018 16:19:34 +0800</pubDate><description><![CDATA[箭头函数和普通函数的区别：

首先就是  箭头函数作为匿名函数,是不能作为构造函数的 
再者就是更重要的一点 
箭头函数的特点就是不绑定this和arguments 
    举个例子：

setTimeout(function(){
   this.$router.push({name:&quot;Proposal&quot;})
},3000)

以上是一个延时定时器中的普通function 
我们都知道定时器中...]]></description><category></category></item><item><title><![CDATA[js 深拷贝及浅拷贝]]></title><link>https://blog.youkuaiyun.com/Shuanger112/article/details/82222922</link><guid>https://blog.youkuaiyun.com/Shuanger112/article/details/82222922</guid><author>Shuanger112</author><pubDate>Thu, 30 Aug 2018 15:58:33 +0800</pubDate><description><![CDATA[一、数组浅拷贝 
在使用JavaScript对数组进行操作的时候，我们经常需要将数组进行备份.

如下代码，如果只是简单才用赋值的方法，那么我们只要更改其中的任何一个，然后其他的也会跟着改变，这就导致了问题的发生



var arr1 = [&quot;red&quot;,&quot;yellow&quot;,&quot;black&quot;];
var arr2 = arr1;
arr2[1] = &quot;green&quot;;
console.log(&quot;数组的原...]]></description><category></category></item><item><title><![CDATA[修改mint-ui中组件的样式]]></title><link>https://blog.youkuaiyun.com/Shuanger112/article/details/82022856</link><guid>https://blog.youkuaiyun.com/Shuanger112/article/details/82022856</guid><author>Shuanger112</author><pubDate>Fri, 24 Aug 2018 17:36:26 +0800</pubDate><description><![CDATA[在static文件夹下创建一个mint-ui.scss的文件 
 
随后在浏览器检查元素找到这个元素的class，并在那个mint-ui.scss文件里面重新写你的样式 要是权重不够直接important



再者就是在main.js中引入这个文件

//引入更改的mint-ui控件样式
import '../static/css/mint-ui.scss'

因为组件里面的style中有一个s...]]></description><category></category></item></channel></rss>