自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一只勤勤恳恳的小前端

记录学习之中的一些感受和问题

  • 博客(24)
  • 收藏
  • 关注

原创 js判断移动端是否存在app

js判断移动端是否存在app说明代码示例说明根据手机内有无app来打开或者是去下载app,这件事情如果是在浏览器里面打开那么没有问题,但是像微信或者钉钉这种第三方软件不支持跳转app。代码示例以下所有的地址都是问移动端要就可以,如果需要打开app,则需要移动端在app进行配置。延时器的作用时,等待打开app的操作,具体的时间可以自己测试。微信不支持通过url的这种方式去下载,所以解决方法也很简单1、写一个引导页,引导用户以浏览器方式打开。2、通过应用宝生成一个二维码,然后写一个二维码页面,

2022-04-20 14:10:51 961 1

原创 微信小程序开发--生命周期

微信小程序开发–生命周期前言小程序的生命周期分为两个循环部分,一部分是整个项目的生命周期也叫小程序生命,从前台到后台;另一部分是页面的生命周期,从初始化到销毁。一、项目的生命周期(小程序生命周期)onLaunch: 全局只调用一次(逻辑只执行一次) ;onShow: 应用初始化完成; 从后台切换到前台;onHide: 从前台切换到后台(小程序应用转到别的应用)。App({ onLaunch (options) { // Do something initial when l

2021-10-22 11:14:51 455

原创 Code Splitting代码分包(路由懒加载)

code split代码分包(路由懒加载)前言,​在应用打包结果过大时,按照设置的规则打包到不同的bundle中,提高应用响应速度。也就是当一个页面进行加载的时候如果太慢,那么你就可以考虑对工程进行一个代码分包。一、分包的作用下面的截图就是不分包和分包的打包结果,可以很明显的看出1、代码在没分包之前,整个工程的代码全部被打包到一个main.js里面,那么在访问某一个页面时,必然就会造成资源的浪费,和延长页面的加载时间。2、代码分包之后,各个模块分开进行打包,main.js被拆分之后变的体积很小,页

2021-10-18 14:49:06 624

原创 微信小程序开发--初识

微信小程序开发--初识前言一、小程序的优点二、小程序与网页开发的区别前言    传统的移动端开发(Android/iOS)开发成本和运营成本很高,公司进行开发需要同时进行开发Android/iOS两端的软件,这是小程序程出现的契机。     最先出现的是微信小程序         2016.01.09 小程序立项 &nb

2021-07-13 00:12:48 261 3

原创 MobX 简单可拓展的状态管理库

MobX 简单可拓展的状态管理库React和MobX是一对强力组合,React负责渲染应用的状态,MobX负责管理应用状态供React使用1、MobX的版本和浏览器支持2、使用前准备(启用装饰器语法支持)方式一(在底层进行配置):1、弹射出项目底层配置:npm run eject2、下载装饰器语法babel插件:npm install @babel/plugin-proposal-decorators3、在package.json中加入配置 "babel": { "p

2021-07-11 16:35:08 72

原创 JS判断一串字符中出现次数最多的字符

判断一串字符中出现次数最多的字符1、将字符串转为数组并排序2、遍历数组,提前存储第一位字符存入m,每次对m和target[i]进行比较,且每次比较完成之后,s进行拼接3、当遍历时,如果相同m === target[i],s继续进行拼接4、当遍历时,如果不相同m !== target[i],进行ispush判断,s重新进行拼接5、输出arr数组的每一位中的任何一个字符,且长度就是出现的次数 <script> const str = 'abcaaabbbwww' //

2021-04-08 15:47:30 265

原创 Vue的响应式原理和Virtural Dom、Snabbdom的使用

1、Vue的响应式原理Vue2.0的响应式原理是基于Object.defineProperty函数是实现的,Vue3.0是基于es6的新特性Proxy实现的2、描述Vue响应式原理中的Vue类、Observer类、Dep类、Watcher类、Compiler类Vue类 :i、接受配置信息ii、将data的属性转换为getter、setter,并注入到Vue实例中iii、监听data中的所有属性变化,并设置为响应式数据iiii、调用解析功能(解析模板中的插值表达式、指令等)Observe

2021-04-07 23:33:35 141

原创 Vue笔记-组件Component-动态组件

动态组件 适用于多个组件频繁切换显示处理<component>标签将一个”元组件“渲染成为动态组件,以is属性决定渲染哪个组件:is可以绑定已注册组件的名字,或一个组件的选项对象示例 <div id="app"> <button @click='change'>切换</button> <!-- 通过改变com来改变显示的组件 --> <component :is="co

2021-03-18 17:56:43 259

原创 Vue笔记-组件Component-组件通信之父子通信

父子通信父级通过data传递数据子级通过props接收数据视图中通过v-bind绑定数据 <div id="app"> <!-- v-bind绑定数据 --> <my-com-a :chidren='parent'></my-com-a> </div> <script src="./node_modules/vue/dist/vue.js"></script>

2021-03-18 17:56:27 160

原创 Vue笔记-组件Component-组件通信之子组件向父组件传递

组件通信之子组件向父组件传递

2021-03-18 17:56:05 314

原创 Vue笔记-组件Component-组件通信之单向数据流和props数据验证

1、 单向数据流 父->子props接受普通数据类型时:父组件数据影响子组件,子组件的数据改变不会影响父组件​props接受对象或数组这种引用数据类型:子组件直接改变props接受值,是会改变父组件里面的数据的,因为传递过来的时引用的地址而不是单纯的拷贝注意在 JavaScript 中对象和数组是通过引用传入的,所以对于一个数组或对象类型的 prop 来说,在子组件中改变变更这个对象或数组本身将会影响到父组件的状态。子级直接修改父级传过来的引用地址是不被允许的(直接赋值)

2021-03-18 17:55:33 244

原创 Vue笔记-组件Component-基本使用

Vue.js组件​提高功能复用性与可维护性,更好的专注于业务逻辑​组件使用时为自定义html标签形式,通过组件名作为自定义标签名 <div id="app"> <p>p标签</p> <!-- 组件 --> <my-com-a></my-com-a> </div>1、组件注册组件要能使用必须要先进行注册组件的注册时候,可以采用PascalCase

2021-03-18 12:15:48 468

原创 Vue笔记--Router路由--VueRouter--重定向、别名、导航守卫、mode

重定向、别名、导航守卫、mode重定向 redirect改变路由的跳转路径示例 { path: '/xxxx', // 改变路由的跳转路径 redirect: '/' } <div id="app"> <!-- 设置router组件 --> <router-link to='/'>首

2021-03-17 17:52:31 273

原创 Vue笔记--Router路由--VueRouter--二、命名视图

二、命名视图给router-view组件设置name属性,router跳转之后需要显示多个router-view组件 <div id="app"> <!-- 设置router组件 --> <router-link to='/'>首页</router-link> <router-link to='/title'>主题</router-link> <router-li

2021-03-17 17:29:09 153

原创 Vue笔记--Router路由--VueRouter--三、动态路由

三、动态路由多个url指向一个组件,某一类URL都映射到同一组件在设置router路由配置设置时,path路径中部分路径设置":"动态设置视图组件设置,设置动态路由后,动态部分为任意内容均跳转到统一组件":"部分的对应信息成为路径参数,存储在vm.$route.params中示例 <!-- 动态路由 --> <div id="app"> <router-link to="/index/11/page/one">第一个跳转&lt

2021-03-17 17:28:56 126

原创 Vue笔记--Router路由--VueRouter--一、基本使用方法

Vue Router 提供一个VueRouter构造函数Vue官方路由插件 需要安装vue-router插件,且必须依赖于vue.jsVueRouter提供两个组件<router-link>和<router-view><router-link>用来进行路由跳转的按钮(导航),页面渲染之后会默认为a标签,可以通过配置 tag属性生成别的标签,to属性设置目标路径<router-view>视图组件一、vueRouter的基本使用方法:通过ne

2021-03-17 17:28:42 91

原创 Vue笔记--Router路由--前端路由的hash和history方法

Router路由用来快速实现单页应用一、单页应用 SPA​ 优点:​ i、前后端分离开发,提高了开发效率​ ii、业务场景切换时,局部更新结构​ iii、用户体验好,更加接近本地应用​ 缺点:​ i、不适于SEO(搜索引擎优化)​ ii、初次首屏加载速度较慢​ iii、页面复杂度比较高二、前端路由​ 指URL与内容间的映射关系​ 1、Hash实现方式 # hash值指的是#/内容​ q、兼容性好(a标签)​ qq、地址中具有#,不太美观​

2021-03-17 17:28:18 236

原创 Vue笔记--Router路由

Router路由​用来快速实现单页应用单页应用 SPA​ 优点:​ i、前后端分离开发,提高了开发效率​ ii、业务场景切换时,局部更新结构​ iii、用户体验好,更加接近本地应用​ 缺点:​ i、不适于SEO(搜索引擎优化)​ ii、初次首屏加载速度较慢​ iii、页面复杂度比较高...

2021-03-17 17:27:59 40

原创 Vue笔记--Router路由--VueRouter--四、监听路由参数

四、监听路由参数因为通过动态路由切换组件时,并不是重新创建实例,所以生命周期钩子只能执行一次,通过监听路由参数来监听路由变化提醒一下,当使用路由参数时,例如从 /user/foo 导航到 /user/bar,原来的组件实例会被复用。因为两个路由都渲染同个组件,比起销毁再创建,复用则显得更加高效。不过,这也意味着组件的生命周期钩子不会再被调通过watch监听$route 监听route,当路由变化时,做出响应 new Vue({ el: '#app',

2021-03-17 17:27:45 470

原创 Vue笔记--Router路由--VueRouter--五、路由传参处理

五、路由传参处理通过设置路由的props:true,通过组件的props接收实际上就是将vm.$route.params的值传给props如果路由包含多个组件(命名视图)时,props需要根据组件的名称去一一对应设置如果希望设置静态数据,可以将props的每个组件对应的选项设置为对象,内部属性会绑定给组件的props示例 <!-- 路由传参处理 --> <div id="app"> <router-link to="/index/1

2021-03-17 17:27:25 102

原创 Vue笔记--Router路由--VueRouter--六、嵌套路由

六、嵌套路由​ 路由由多层嵌套的组件组合而成,这时就需要使用嵌套路由配置​ 路由使用children属性进行嵌套路由中的子路由设置示例 <!-- 嵌套路由 --> <div id="app"> <router-link to="/">首页</router-link> <router-link to="/x">首页2</router-link> <router-vie

2021-03-17 17:26:42 102

原创 Vue笔记--Router路由--VueRouter--七、编程式导航

七、编程式导航使用vm.$router.push()来替代<router-link>组件(命名路由可以通过name属性进行跳转,并通过params属性传递参数)可以通过vm.$router.push(path)或者vm.$router.push(name,params:{data:data})的形式,以js语句进行路由跳转<router-link to= path>标签可以通过 <router-link :to= {path : path}>或者<route

2021-03-17 17:25:54 193

原创 Snake贪吃蛇小游戏纯js代码

Snake贪吃蛇小游戏纯js代码先给个效果图,一样的简单而又纯朴,回归贪吃蛇最原始的状态还是先分析一下,使用面向对象编程真的降低了编程的难度(只要前期把思路想好,各个类,属性,方法抽象出来),就真的蛮简单的了(开玩笑)。贪吃蛇分析一哈,里面有什么呢(蛇、食物嗯嗯嗯好像没了。。。),确实蛮好想的哈(此处我应该发我的表情包);最后把整个游戏再包装成一个Game对象,再来一个必备的工具类Tools,分析结束,完美撒花(表情包,想象一下)。下面就上代码了。等等忘了分析对象里面的方法了简单说一下,(像宽

2021-02-26 16:04:53 262

原创 Eat Doug吃豆豆小游戏纯js代码

Eat Doug吃豆豆小游戏纯js代码一个前端小游戏demo(没有美化),简单的而又淳朴利用面向对象编程思想实现简单说一下思路:第一步:获取元素map地图(这是地图一个简单的div,所有元素都要利用appendChild()方法渲染到它的上面)第二步 :对象(吃豆豆,抽象出各个对象),用了es6的类声明方式糖豆人类BeansMan = {}BeansMan的方法 render(渲染) move(移动)豆豆类Beans = {}Beans的方法 render(渲染) re

2021-02-26 15:27:41 844

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除