<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[cyang233的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/cyang233</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; cyang233]]></copyright><item><title><![CDATA[阿里云服务器申请ssl证书 宝塔面板部署]]></title><link>https://blog.youkuaiyun.com/cyang233/article/details/108357371</link><guid>https://blog.youkuaiyun.com/cyang233/article/details/108357371</guid><author>cyang233</author><pubDate>Wed, 02 Sep 2020 11:01:12 +0800</pubDate><description><![CDATA[1.登录阿里云账号，点击左侧云安全下的ssl证书
2.点击选购证书

3.配置如下 点击立即购买
4.支付
5.

6.点击证书申请并填写信息

7.解析域名

照着填就行
8.填完之后验证 过一会 成功之后是这个样子的

然后点击下载
9 打开宝塔面板 点击网站  设置

10.将下载的对应内容复制到对应区域 右上角强制https 单击保存就可以啦

perfect，大功告成，不要问我为什么挡网址  没设计，太丑了  防止你们笑话我

...]]></description><category></category></item><item><title><![CDATA[使用 bootstrap-vue]]></title><link>https://blog.youkuaiyun.com/cyang233/article/details/108325414</link><guid>https://blog.youkuaiyun.com/cyang233/article/details/108325414</guid><author>cyang233</author><pubDate>Mon, 31 Aug 2020 17:31:06 +0800</pubDate><description><![CDATA[1.创建一个vue项目
vue create demo1

网慢的话可以使用cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org

2.下载jquery
npm install jquery

3.下载bootstrap-vue和 bootstrap
cnpm install bootstrap-vue bootstrap axios

4.在项目公共文件夹中的index.html文件中添加如下代码：
&lt;link typ]]></description><category></category></item><item><title><![CDATA[小程序 云开发 获取不到数据库记录]]></title><link>https://blog.youkuaiyun.com/cyang233/article/details/107782047</link><guid>https://blog.youkuaiyun.com/cyang233/article/details/107782047</guid><author>cyang233</author><pubDate>Tue, 04 Aug 2020 11:03:06 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[微信小程序--监听对象属性变化]]></title><link>https://blog.youkuaiyun.com/cyang233/article/details/107555106</link><guid>https://blog.youkuaiyun.com/cyang233/article/details/107555106</guid><author>cyang233</author><pubDate>Fri, 24 Jul 2020 10:26:33 +0800</pubDate><description><![CDATA[本以为小程序会跟vue差不多有像watch一类的方法，好吧并没有。百度了很多，看了很多大神写的案例。奈何天资不太行，虽然效果有了，但还是不太懂。
app.js
//监听属性值函数
  watch:function(obj,val,method){
    let vl = '';
    Object.defineProperty(obj,val,{
      configurable:true,
      enumerable:true,
      set:function(nval){
     ]]></description><category></category></item><item><title><![CDATA[踩坑--小程序给数组中的数组赋值]]></title><link>https://blog.youkuaiyun.com/cyang233/article/details/107363541</link><guid>https://blog.youkuaiyun.com/cyang233/article/details/107363541</guid><author>cyang233</author><pubDate>Wed, 15 Jul 2020 16:21:04 +0800</pubDate><description><![CDATA[如图，写一个tab切换，为了不每次切换标题都要重新获取数据
//titles对应的是标题，content对应标题下内容
   for(let i=0;i&lt;that.data.titles.length;i++){
          that.data.content[i] = [];
        }

现在结构就是content是大数组，里面包含着每个标题对应的内容数组，就是这样

然后在赋值出了问题。经过疯狂的百度后
大概就是setData赋值规则，详细的大家自行百度吧

...]]></description><category></category></item><item><title><![CDATA[v-for数据源动态更新]]></title><link>https://blog.youkuaiyun.com/cyang233/article/details/107084340</link><guid>https://blog.youkuaiyun.com/cyang233/article/details/107084340</guid><author>cyang233</author><pubDate>Thu, 02 Jul 2020 15:08:57 +0800</pubDate><description><![CDATA[如图所示，数据源是一个包含5个数组的数组
&lt;ul class="addlist" ref="lis" v-if="flag"&gt;
            &lt;li v-for="(item,index) in splitarr[ind]" :key="index"&gt;
                &lt;div class="li-t"&gt;
                    &lt;span&gt;{{item.name}} &amp;emsp;&amp;emsp; {{it]]></description><category></category></item><item><title><![CDATA[typescript]]></title><link>https://blog.youkuaiyun.com/cyang233/article/details/105801676</link><guid>https://blog.youkuaiyun.com/cyang233/article/details/105801676</guid><author>cyang233</author><pubDate>Mon, 27 Apr 2020 22:48:06 +0800</pubDate><description><![CDATA[1.安装
npm i  typescript -g

2.初始化
tsc --init  初始化项目
tsc  ./src/xxx.ts  编译某个文件
tsc -w  检测变化并编译

tsconfig.json 文件
{“compilerOptions”:{
“outDir”:"./dist", //输出文件夹
“rootDir”:"./src" //源文件夹
}}

常见类型
boolean...]]></description><category></category></item><item><title><![CDATA[React-native导航总结]]></title><link>https://blog.youkuaiyun.com/cyang233/article/details/105719476</link><guid>https://blog.youkuaiyun.com/cyang233/article/details/105719476</guid><author>cyang233</author><pubDate>Thu, 23 Apr 2020 22:55:04 +0800</pubDate><description><![CDATA[1.安装依赖
npm install @react-navigation/native
npm install @react-navigation/stack
npm install @react-navigation/bottom-tabs
npm install @react-navigation/material-top-tabs react-native-tab-view
npm inst...]]></description><category></category></item><item><title><![CDATA[前端优化]]></title><link>https://blog.youkuaiyun.com/cyang233/article/details/105569842</link><guid>https://blog.youkuaiyun.com/cyang233/article/details/105569842</guid><author>cyang233</author><pubDate>Thu, 16 Apr 2020 23:25:22 +0800</pubDate><description><![CDATA[内容部分
1.减少http请求，通过合并文件等方式
2.减少DNS查找
3.避免重定向
4.缓存Ajax
5.延迟加载组件
6.使用预加载
7.减少Dom元素的数量
8.少用iframe
css部分
1.避免使用CSS表达式
2.选择舍弃@import
3.避免使用滤镜
4.把样式表放在顶部
js部分
1.去除重复脚本
2.减少dom访问
3.把脚本放在底部
4.把JavaScript和CSS放到...]]></description><category></category></item><item><title><![CDATA[React组件传参]]></title><link>https://blog.youkuaiyun.com/cyang233/article/details/105566445</link><guid>https://blog.youkuaiyun.com/cyang233/article/details/105566445</guid><author>cyang233</author><pubDate>Thu, 16 Apr 2020 21:02:22 +0800</pubDate><description><![CDATA[1.基础传参
//父组件
//1.传递数据
&lt;Child age={this.state.age}&gt;&lt;/Child&gt;
//2.传递方法
setAge =v=&gt;this.seState({age:v)}
&lt;Child age = {this.state.age} setAge{this.setAge.bind(this)}&gt;&lt;/Child&gt;

/...]]></description><category></category></item><item><title><![CDATA[百度Map]]></title><link>https://blog.youkuaiyun.com/cyang233/article/details/105547942</link><guid>https://blog.youkuaiyun.com/cyang233/article/details/105547942</guid><author>cyang233</author><pubDate>Thu, 16 Apr 2020 00:07:30 +0800</pubDate><description><![CDATA[注册
搜索百度地图开发平台，登录后进入到控制台。应用管理=&gt;我的应用=&gt;创建应用；
输入应用名称、选择应用类型（根据需要，输入域名白名单，
这时会在应用表格中，生成一条新记录，有对应的应用编号、应用名称和访问应用（AK）等；然后就可以根据官方文档自己创建地图；
使用
var map = new BMap.Map("allmap");    // 创建Map实例
map.centerAn...]]></description><category></category></item><item><title><![CDATA[react面试题]]></title><link>https://blog.youkuaiyun.com/cyang233/article/details/105547896</link><guid>https://blog.youkuaiyun.com/cyang233/article/details/105547896</guid><author>cyang233</author><pubDate>Wed, 15 Apr 2020 23:59:42 +0800</pubDate><description><![CDATA[1.React 优势
答：
1、React 速度很快：它并不直接对 DOM 进行操作，引入了一个叫做虚
DOM 的概念，安插在 javascript 逻辑和实际的 DOM 之间，性能好。
2、跨浏览器兼容：虚拟 DOM 帮助我们解决了跨浏览器问题，它为我们
提供了标准化的 API，甚至在 IE8 中都是没问题的。
3、一切都是 component：代码更加模块化，重用代码更容易，可维护性高。
4、...]]></description><category></category></item><item><title><![CDATA[前端面试题]]></title><link>https://blog.youkuaiyun.com/cyang233/article/details/105478692</link><guid>https://blog.youkuaiyun.com/cyang233/article/details/105478692</guid><author>cyang233</author><pubDate>Sun, 12 Apr 2020 23:18:02 +0800</pubDate><description><![CDATA[1.客户端存储 localStorage 和 sessionStorage
localStorage 有效期为永久，sessionStorage 有效期为顶层窗口关闭前
同源文档可以读取并修改 localStorage 数据，sessionStorage 只允许同一个窗口下的文档访问，如通过 iframe 引入的同源文档。
Storage 对象通常被当做普通 javascript 对象使用：通过设...]]></description><category></category></item><item><title><![CDATA[前端面试题]]></title><link>https://blog.youkuaiyun.com/cyang233/article/details/105478463</link><guid>https://blog.youkuaiyun.com/cyang233/article/details/105478463</guid><author>cyang233</author><pubDate>Sun, 12 Apr 2020 23:04:52 +0800</pubDate><description><![CDATA[1.如何解决0.1+0.2！=0.3 这个问题？
当计算机计算0.1+0.2的时候，实际上计算的是这两个数字在计算机里所存储的二进制，0.1和0.2在转换为二进制表示的时候会出现位数无限循环的情况。js中是以64位双精度格式来存储数字的，只有53位的有效数字，超过这个长度的位数会被截取掉这样就造成了精度丢失的地方。在对两个以64位双精度格式的数据进行对阶的处理，对阶指的是将阶码对齐，也就是将小数点...]]></description><category></category></item><item><title><![CDATA[js面试题2]]></title><link>https://blog.youkuaiyun.com/cyang233/article/details/105338419</link><guid>https://blog.youkuaiyun.com/cyang233/article/details/105338419</guid><author>cyang233</author><pubDate>Mon, 06 Apr 2020 21:42:57 +0800</pubDate><description><![CDATA[1.call()和apply()的含义和区别？
含义：
call() :调用一个对象的方法，用另一个对象替换当前对象。例如：B.call(A,args1,args2);就是A对象调用B对象的方法。
apply() ：调用一个对象的一个方法，用另一个对象替换当前对象。例如：B.apply(A,arguments);就是A对象应用B对象的方法。
相同点：
方法的含义是一样的，即方法功能是一样的。
第一...]]></description><category></category></item><item><title><![CDATA[JS面试题]]></title><link>https://blog.youkuaiyun.com/cyang233/article/details/105318347</link><guid>https://blog.youkuaiyun.com/cyang233/article/details/105318347</guid><author>cyang233</author><pubDate>Sun, 05 Apr 2020 10:27:41 +0800</pubDate><description><![CDATA[1.JavaScript 的组成
ECMAScript（核心）：JavaScript 语言基础
DOM（文档对象模型）：规定了访问 HTML 和 XML 的接口
BOM（浏览器对象模型）：提供了浏览器窗口之间进行交互的对象和方法
2.offsetWidth/offsetHeight,clientWidth/clientHeight 与 scrollWidth/scrollHeight 的区别？
o...]]></description><category></category></item><item><title><![CDATA[socket.io基本用法]]></title><link>https://blog.youkuaiyun.com/cyang233/article/details/105234781</link><guid>https://blog.youkuaiyun.com/cyang233/article/details/105234781</guid><author>cyang233</author><pubDate>Tue, 31 Mar 2020 23:04:19 +0800</pubDate><description><![CDATA[服务端
服务端运行后会在根目录动态生成socket.io的客户端js文件 客户端可以通过固定路径/socket.io/socket.io.js添加引用
&lt;script type="text/javascript" src="/socket.io/socket.io.js"&gt;&lt;/script&gt;

io.emit('user connect',user+'进入聊天室');

e...]]></description><category></category></item><item><title><![CDATA[Vuex]]></title><link>https://blog.youkuaiyun.com/cyang233/article/details/105131972</link><guid>https://blog.youkuaiyun.com/cyang233/article/details/105131972</guid><author>cyang233</author><pubDate>Fri, 27 Mar 2020 00:16:28 +0800</pubDate><description><![CDATA[vuex是一个专门为vue.js应用程序开发的状态管理模式。通俗点说就是我们项目中需要共享的一些数据的管理容器，这里的状态就是数据。
Vuex常用对象
state：存储状态，也就是变量
getters：对数据获取之前的再次编译，可以理解为state的计算属性。我们在组件中使用 $sotre.getters.fun()
mutations：提交状态修改。也就是set、get中的set，唯一修改sta...]]></description><category></category></item><item><title><![CDATA[Git]]></title><link>https://blog.youkuaiyun.com/cyang233/article/details/105061448</link><guid>https://blog.youkuaiyun.com/cyang233/article/details/105061448</guid><author>cyang233</author><pubDate>Tue, 24 Mar 2020 00:15:50 +0800</pubDate><description><![CDATA[1.在dom中全局配置
git config --global user.name "Your Name"
git config --global user.email "xxx@xx.com"

2.在项目目录初始化
例：
上传所有文件
git add .

上传指定文件
git add 文件名

添加到版本库
git commit -m "添加到版本库"

时光机
git log     //...]]></description><category></category></item><item><title><![CDATA[Vue跨域方式]]></title><link>https://blog.youkuaiyun.com/cyang233/article/details/104982004</link><guid>https://blog.youkuaiyun.com/cyang233/article/details/104982004</guid><author>cyang233</author><pubDate>Fri, 20 Mar 2020 08:56:07 +0800</pubDate><description><![CDATA[**
1.axios
**
1.在cmd窗口输入以下命令安装到项目目录
cd 项目目录
cnpm install axios -S
2.在项目的main.js中挂载
import axios from 'axios'
Vue.prototype.$http=axios;
//过载axios到vue的原型公共方法上
//所有的vue的实例都将拥有$http

3.get方式
get方式
this.$...]]></description><category></category></item></channel></rss>