<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Alisa_lifang的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Alisa_lifang</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Alisa_lifang]]></copyright><item><title><![CDATA[flex弹性布局学习总结]]></title><link>https://blog.youkuaiyun.com/Alisa_lifang/article/details/79928938</link><guid>https://blog.youkuaiyun.com/Alisa_lifang/article/details/79928938</guid><author>Alisa_lifang</author><pubDate>Fri, 13 Apr 2018 18:14:34 +0800</pubDate><description><![CDATA[一、flex容器设置了display：flex属性的元素称为flex容器（如上图中的parent）flex容器可设置的属性有6种：        flex-direction 控制主轴线方向,有4种取值：row(默认值，水平，起点在左端）|row-reverse（水平，起点在右端）|column（竖直，起点在上端）|column-reverse（竖直，起点在下端）        flex-wrap...]]></description><category></category></item><item><title><![CDATA[vue双向数据绑定的实现原理]]></title><link>https://blog.youkuaiyun.com/Alisa_lifang/article/details/79517986</link><guid>https://blog.youkuaiyun.com/Alisa_lifang/article/details/79517986</guid><author>Alisa_lifang</author><pubDate>Sun, 11 Mar 2018 17:46:19 +0800</pubDate><description><![CDATA[vue.js 是采用数据劫持结合发布者-订阅者模式的方式，通过mvvm入口函数整合了observer、compile、watcher三者，通过Object.defineProperty()来劫持各个属性的setter，getter，在数据变动时发布消息给订阅者，触发相应的监听回调。要实现mvvm的双向绑定，就必须要实现以下几点：1、实现一个数据监听器Observer，能够对数据对象的所有属性进行监...]]></description><category></category></item><item><title><![CDATA[CSS--box-sizing属性的应用]]></title><link>https://blog.youkuaiyun.com/Alisa_lifang/article/details/79424310</link><guid>https://blog.youkuaiyun.com/Alisa_lifang/article/details/79424310</guid><author>Alisa_lifang</author><pubDate>Fri, 02 Mar 2018 16:14:07 +0800</pubDate><description><![CDATA[box-sizing属性可以设置各浏览器如何显示盒模型，用来解决某些不支持flex属性的浏览器无法实现弹性布局的bug（1）当box-sizing属性取值为border-box时（IE浏览器）：        元素的宽度包含了 内容的宽度+padding+border        元素的高度包含了 内容的高度+padding+border显示结果为：（2）当box-sizing取值为conten...]]></description><category></category></item><item><title><![CDATA[vue学习记录——父子组件间传递数据]]></title><link>https://blog.youkuaiyun.com/Alisa_lifang/article/details/79369343</link><guid>https://blog.youkuaiyun.com/Alisa_lifang/article/details/79369343</guid><author>Alisa_lifang</author><pubDate>Mon, 26 Feb 2018 15:12:09 +0800</pubDate><description><![CDATA[在 Vue 中，父子组件之间的关系可以概述为：props 向下，events 向上。父组件通过 props向下传递数据给子组件，子组件通过 events 发送消息给父组件。demo的目录结构如下：demo显示效果如下;一、父组件向子组件传递数据（父组件通过props向子组件传递数据）父组件的代码如下图：父组件中定义一个object，通过v-bind自定义属性parentData绑定到控件上，通过p...]]></description><category></category></item><item><title><![CDATA[vue环境配置及踩坑记录]]></title><link>https://blog.youkuaiyun.com/Alisa_lifang/article/details/78714200</link><guid>https://blog.youkuaiyun.com/Alisa_lifang/article/details/78714200</guid><author>Alisa_lifang</author><pubDate>Sat, 24 Feb 2018 15:14:42 +0800</pubDate><description><![CDATA[一、vue环境配置1.安装node到官网下载安装，我这里是win8系统。（这里下载的是.msi的安装包，如果是下载的.zip的解压包需要自己配置环境变量）（中）https://nodejs.org/zh-cn/（英）https://nodejs.org/en/注意：(1)如果电脑中有装过node，但是想要重新安装node，除了删除node文件夹之外必须把C:\Users\{账户}\下的.npmrc...]]></description><category></category></item><item><title><![CDATA[js闭包]]></title><link>https://blog.youkuaiyun.com/Alisa_lifang/article/details/77918173</link><guid>https://blog.youkuaiyun.com/Alisa_lifang/article/details/77918173</guid><author>Alisa_lifang</author><pubDate>Sat, 09 Sep 2017 21:38:32 +0800</pubDate><description><![CDATA[一.闭包定义
闭包，官方对闭包的解释是：一个拥有许多变量和绑定了这些变量的环境的表达式（通常是一个函数），因而这些变量也是该表达式的一部分。闭包的特点：
　　1. 作为一个函数变量的一个引用，当函数返回时，其处于激活状态。
　　2. 一个闭包就是当一个函数返回时，一个没有释放资源的栈区。

简单来说闭包是定义在一个函数内部的函数.
二.闭包的用途
闭包两大用途:一个是前面提到的可以读]]></description><category></category></item><item><title><![CDATA[js对象]]></title><link>https://blog.youkuaiyun.com/Alisa_lifang/article/details/77917856</link><guid>https://blog.youkuaiyun.com/Alisa_lifang/article/details/77917856</guid><author>Alisa_lifang</author><pubDate>Sat, 09 Sep 2017 20:57:19 +0800</pubDate><description><![CDATA[一.对象的特点
1.抽象
2.封装
3.继承
4.多态
二.创建对象的方法
(1)对象字面量
var person={
     name:"小明",
     age:23
}
(2)工厂模式：就是一个函数，然后放入参数，返回对象，流水线工作
 function createClock(hour,minute,second){
  var clock = new Obj]]></description><category></category></item><item><title><![CDATA[grunt代码混淆]]></title><link>https://blog.youkuaiyun.com/Alisa_lifang/article/details/77334096</link><guid>https://blog.youkuaiyun.com/Alisa_lifang/article/details/77334096</guid><author>Alisa_lifang</author><pubDate>Thu, 17 Aug 2017 15:47:31 +0800</pubDate><description><![CDATA[1.grunt是基于nodejs的，所以要先安装nodejs。

2. 安装nodejs

Grunt和所有grunt插件都是基于nodejs来运行的，如果你的电脑上没有nodejs，就去安装吧。安装nodejs非常简单，完全傻瓜式、下一步下一步下一步、的安装方式，这里不再赘述。去 https://nodejs.org/ 上，点击页面中那个绿色、大大的“install”按钮即可。

安]]></description><category></category></item><item><title><![CDATA[Nginx反向代理解决跨域问题]]></title><link>https://blog.youkuaiyun.com/Alisa_lifang/article/details/77164947</link><guid>https://blog.youkuaiyun.com/Alisa_lifang/article/details/77164947</guid><author>Alisa_lifang</author><pubDate>Mon, 14 Aug 2017 18:27:23 +0800</pubDate><description><![CDATA[1.下载Nginx并解压2.修改conf/nginx.conf配置文件#user  nobody;worker_processes  1;#error_log  logs/error.log;#error_log  logs/error.log  notice;#error_log  logs/error.log  info;#pid        logs/nginx.pid;events { ...]]></description><category></category></item></channel></rss>