04 2020 档案
摘要:推荐这个图 个人认为,store应该包括三个部分,action,reducer,state. 因为,实际的项目中,我们会把这三个部分,都放在store文件夹里 所以,这张图也有问题。 下图不推荐 原因是因为 1.老师的的图,会让人误认为,reducer是独立于store而存在的。 2.而且老师用的图
阅读全文
摘要:基础概念 1.类和对象 万物皆是对象,类是抽象的对象 2.类和实例 对象分两种,一个是类对象,一个是实例对象。 3.对象和实例 万物皆对象,实例是new出来的实际对象 JS中的静态属性,静态方法,和实例属性,实例方法,以及动态属性和动态方法 1.静态属性,静态方法,本质上,是类属性,类方法 2.实例
阅读全文
摘要:首先要了解todolist的相关功能 功能方面,参考演示站 www.todolist.cn 功能总结 1.输入框(输入框的事件交互) 2.显示列表(显示区域的数据展示和事件交互) 3.数据计算(被动的数据展示,不存在事件交互) 使用Cra脚手架进行 1.全局安装cra 2.新建项目 c r a to
阅读全文
摘要:区别是什么 1.共同点,都是指表单元素,或者表单组件 2.不同点,被react的state控制,就是受控组件。不会state控制,就是非受控。 3.受控组件的实现方式,就是设置state,使用事件调用setstate,更新数据和视图。 4.非受控组件,避开state,使用ref等等方式,更新数据和视
阅读全文
摘要:JS函数三要素 一般认为,函数的三要素是:函数名,参数,函数体 JS函数进阶 想要深入的学习js,就要知道函数有五要素 函数名,参数,函数体,this,返回值 任何一个函数,在隐式原型上,都有四种很常见的方法,可以简单记忆为ABCC方法 apply,bind,call,constructor 如何在
阅读全文
摘要:今天遇到一个很奇怪的问题,console.log失效了 直接打印 console.log(1111)都打印不出来。 重启浏览器也不行。 解决方法 原来是不久前,做了一个过滤操作 删掉filter里的东西就行了
阅读全文
摘要:1.写在哪,比写什么重要,涉及到生命周期。每个生命周期函数里面,都可以写任何代码片段。 2.自上而已下,先大后小 3.react是函数式组件 4.每一个数据,都可以看成是数据库,JS使用特定的方法,这些数据,进行增删改查。 5.经常打印this,能更好的调试。 6.函数,三要素,函数名,参数,返回值
阅读全文
摘要:一:JS中的抽象概念 在说继承方式之前,先来了解下js中几个较为抽象的概念。 1.原型 原型就是 在js中万物皆对象,对象又分为两种:普通对象(Object)和函数对象(Function)。 null也是对象,但这里不做考虑。 任何对象都具有隐式原型属性( ),因为是人人平等的属性,所以,加上了双下
阅读全文
摘要:封装js插件学习指南 1、原生JavaScript插件编写指南 = http://geocld.github.io/2016/03/10/javascript_plugin/ 2、如何定义一个高逼格的原生JS插件 = https://www.jianshu.com/p/e65c246beac1 3、
阅读全文
摘要:高内百聚和低耦合是同义词。 1。高内聚,指自成一体。 2。低耦合,指对外部的依赖很小。 只是他们侧重的角度不同,内聚侧重的是内政,而耦合侧重的是外交。
阅读全文
摘要:一:fastadmin组件大全 fastadmin在前端,也就是在JS中,使用了很多第三方组件。这里,我们一一列举出来。并总结一些组件的结构,以及如何快速的掌握组件。 1.Selectpage 动态下拉列表 官方文档:https://github.com/TerryZ/SelectPage 2.Ni
阅读全文
摘要:tp5类库分类 1.核心类库 对应thinkphp框架中的类库 2.第三方类库 对应vendor里的类库 3.扩展类库 对应extend里的类库 tp5中类库解析 一.核心类库 文件位置:\thinkphp\library\think |编号|类库名字|类库位置|类库作用| | | | | | |1
阅读全文
摘要:tp5是基于MVC模式的 tp5中的类的相关术语,其实是基于PHP的相关概念。 动态属性,静态属性,动态方法,静态方法,类的访问控制修饰符 动态和静态,静态和实例,的定义和使用方式 |访问方式 |属性 |方法| | | | | |静态(实例)|类名::$静态属性名|类名::方法名(实参1,实参2,.
阅读全文
摘要:只要名字对了,就会自动加载 一:自动加载的类库有 1.核心类库 2.composer类库 3.扩展extend类库 二:框架的自动加载功能实现主要在Loader类的autoload方法处。 文件位置thinkphp核心框架里面:\thinkphp\library\think\Loader.php
阅读全文
摘要:TP5支持的URL模式 其实官网说了半天,就是不想支持 的url 1、传统模式(已经不再支持,请不要再使用) http://tp5.com:8088/index.php?m=user&c=Manager&a=add&n=2&m=3 上图中由于输入的路径无法识别所以访问的是默认路由模式下的http:/
阅读全文
摘要:一.通常有5种路径的简写 1. ./xxx 表示xxx的同级目录 2. ../xxx 表示xxx的父级目录 3. ../../xxx 表示xxx的爷爷级目录 4. xxx 省略不写,表示当前目录 5. /xxx 表示根目录 二.有个奇怪的现象 tp5的入口文件index中,是这样定义 很显然,这超出
阅读全文
摘要:PHP中的这三种变量 PHP在设计的时候已经预定义了9个超级全局变量、8个魔术变量和13魔术函数,这些变量和函数可以在脚本的任何地方不用声明就可以使用。 在PHP开发会频繁的使用这些变量和函数,这些变量和函数可以方便的帮我们解决很多问题。下面详细的讲解下PHP中的超级全局变量、魔术变量和魔术函数。
阅读全文
摘要:TP5生命周期 1、入口文件 (1)文件名:index.php (2)位置:public/index.php (3)用户通过入口文件,发起服务请求,是整个应用的入口与七点; (4)任务:定义常量,加载引导文件,不要放任何业务处理代码; (5)代码: 2、引导文件 (1)文件名:start.php (
阅读全文
摘要:架构总览 ThinkPHP5 基于MVC(模型 — 视图 — 控制器)来组织; 模型与视图,用控制器强制分离,数据请求与展示由控制器统一调配! 1.URL默认采用PATH_INFO方式 http://域名 / 入口文件 / 模块 / 控制器 / 操作 入口文件:应用的入口,如index.php 模块
阅读全文
摘要:命名规范 命名规范,官方上有,但是有很多博客,也是抄一下,当成自己的。我这里,做一下总结。总结的不太好。 可以根据权重来记忆 0级,全部小写+下划线。包括,函数,变量,数据表,字段等等目录等等 1级,小驼峰。属性,方法。 2级,大驼峰。类,类文件 3级,全大写+下划线。系统常量 4级,是魔术方法。
阅读全文
摘要:学习thinkphp5的方法 1.看文档 2.看视频 3.实际操作 4.安装使用fastadmin研究代码 今天第一步 下载安装 1.安装tp5,网上的composer下载安装,还需要切换国内镜像,一切从简。 直接从官网,下载相关的包就行了。 2.安装fastadmin,直接下载,不需要compos
阅读全文
摘要:一般写在app的render()函数里 一些关键词 1.switch 2.rout(记得是四个字母,不是router) 3.redirect 4.属性相关 path,component,render(可以路由传参,可以判断是否登录),exact 5.动态属性 :id 6.路由组件,普通组件 7.路由
阅读全文
摘要:理解数据流程 1.首先建立数据库test 2.一键CURD 3.复制application/admin/model中的test到application/index/model里,并修改命名空间 4.在index模块index控制器书写相关方法 5.引入新建的模型,让模型来进行数据库的操作。 多多查阅
阅读全文
摘要:console的API大全 官网参考地址 https://developer.mozilla.org/zh CN/docs/Web/API/Console 记录几个常用 1.console.log() 可以取代 alert() 或 document.write(),在网页脚本中使用 console.
阅读全文
摘要:react中的,invoke,evoke,dispatch,assign都是什么意思,有什么区别
阅读全文
摘要:很不错的总结 参考地址 https://blog.csdn.net/qq_41846861/article/details/86583212 部分展开如下 jsx 1)全称: JavaScript XML 2)react定义的一种类似于XML的JS扩展语法: XML+JS 3)作用: 用来创建rea
阅读全文
摘要:组件和元素的区别,以及实例 参考地址:https://www.jianshu.com/p/7bf3678c9503 摘录一些经典的论述 1.Elements Describe the Tree 2.DOM Elements 3.Component Elements 4.Components Enca
阅读全文
摘要:为什么react和react dom要分成两个包? 参考地址:https://www.zhihu.com/question/336664883 知乎的另一个回答截图 react提供组件,生命周期功能,reactdom提供dom功能
阅读全文
摘要:1.react中遍历列表需要指定唯一的key值,可以使用map方法进行数组的遍历操作 2.遍历列表的时候,注意标签能够拥有语义化的特点 3.组件函数,必须有return返回值,不然,组件是undifined 4.return 后面建议加上() 5.react中定义组件的两种形式 函数式组件(无状态组
阅读全文
摘要:1.react由来 特点 官网 官方文档https://react.docschina.org/ 1)npm init y 2)npm i react S (yarn add react) 直接找node_modules/react/umd目录 react.development.js文件 3)np
阅读全文
摘要:原理 学习react的红利 1.小程序框架taro 2.app开发,react native
阅读全文
摘要:概念和区别 1.操作数组的方法中,分为变异方法和非变异方法。 2.其中,变异方法意味着会改变原数组,而非变异方法则只会返回一个新数组。 函数总结 1.变异方法(7个) push() //数组尾部追加一个元素 pop() //数组尾部弹出一个元素 shift() //数组头部弹出一个元素 unshif
阅读全文
摘要:高阶组件的一个用处 高阶组件(ui组件)=容器组件 react中常见的高阶组件 1.react redux的connect函数 2.react优化的时候,使用过一些
阅读全文
摘要:安装阶段 1.新建文件夹test 2.不需要在tset里npm init 3.全局安装脚手架 4.create react app XXX,这里的名字,不能使react,或者react dom等等,如果是这些关键词,他会提示错误。 目录分析 1. 项目根目录中的文件 先从进入项目根目录说起,也就是第
阅读全文
摘要:组件传值的分类 1.按嵌套关系分:父子传值和兄弟传值(意思是指跨组件传值) 1.按传值方法分:props,ref,context,updater,redux 一.父子传值 1.向下传值 父组件向子组件传值 父组件通过props传递一个不是方法的数据,给子组件; 2.向上传值 子组件向父组件传值 父组
阅读全文
摘要:最重要的书写规范 先写父组件,再写子组件,父组件写在代码上面,子组件写在下面 其他相规范 1.参考1 https://www.cnblogs.com/hcxwd/p/7240490.html 2.参考2 https://blog.csdn.net/qq_37205708/article/detail
阅读全文
摘要:组件的分类方式有哪些? 1. 分是否有状态:有状态组件,无状态组件 2. 按定义方式不同:函数组件(构造函数组件),类组件(class组件) 对于React组件,props是输入,元素树是输出。 无论是函数还是类,从根本上说它们都是React的组件。他们将props作为输入,并将元素作为输出返回。
阅读全文
摘要:官网文档 https://react.docschina.org/docs/context.html 大神博客 https://segmentfault.com/a/1190000017758300
阅读全文
摘要:截图如下 ├── README.md 项目介绍 ├── package.json npm包配置文件,里面定义了项目的npm脚本,依赖包等信息 ├── package lock 上线锁定版本信息 ├── gitignore 这个是git的选择性上传的配置文件 ├── src 源码目录 这个目录里边放的
阅读全文
摘要:在控制台查看promise对象 在Promise之前,js的异步编程都是采用回调函数和事件的方式。但是这种编程方式在处理复杂业务的情况下,很容易出现callback hell(回调地狱),使得代码很难被理解和维护。Promise就是改善这种情形的异步编程的解决方案,它由社区最早提出和实现,es6将其
阅读全文
摘要:一.JS中所有数组的方法,包含ES5和ES6 二.在控制台查看所有的数组方法 1.简单输出console.log([]),点击控制台结果查看 2.精准输出,所有属性,会组合成一个数组。 在控制台输入 Object.getOwnPropertyNames(Array),这些都是静态方法。 在控制台输入
阅读全文
摘要:一:事件 DOM中有很多事件,键盘事件,鼠标事件等等。 vue和react中的生命周期, 本质上 是事件的合集,一般包括四部分:包括初始,挂载,渲染,卸载。 二:事件处理函数 每个事件,都有开始结束。为了处理事件,要定义一些具体的函数。 1.钩子函数(事件开始时的函数 监听函数) 什么是钩子函数 一
阅读全文
摘要:深拷贝和浅拷贝的区别 场景:假设B复制了A。 1.浅拷贝:当修改A时,看B是否会发生变化,如果B也跟着变了,说明这是浅拷贝。 2.深拷贝:拿人手短,如果B没变,那就是深拷贝,自食其力。 这里强调,深拷贝,是拷贝对象各个层级的属性。多层的对象,只拷贝一层,那还是浅拷贝。 所谓,拷贝,就是复制! Obj
阅读全文
摘要:Jquery ajax, Axios, Fetch区别之我见 转载 https://segmentfault.com/a/1190000012836882
阅读全文
摘要:1.什么是AJAX? AJAX全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是一种创建交互式网页应用的网页开发技术。它使用: 使用XHTML+CSS来标准化呈现; 使用XML和XSLT进行数据交换及相关操作; 使用XMLHttpRequ
阅读全文
摘要:js的模块化之路 Javascript 模块的演化历史一定程度上代表了前端的发展史。从早期的 对象字面量、IIFE 到后来的 commonjs, AMD 等, 再到如今的 ES Module。这些模块化方案在互联网技术发展需求下不断革新,演进。 认知革命 农业时代 工业时代 科学时代 参考文章 ht
阅读全文
摘要:react生命周期中被废弃了三个函数,为什么 因为核心算法改变了。从diff改成了fiber。 引出了效率提升的三个改进 1.虚拟dom和真实dom 2.传统diff和diff优化 3.diff和fiber
阅读全文
摘要:this的指向问题总结 普通函数和箭头函数的this指向 前端基础:call,apply,bind的的理解 渣渣解释地址1:https://segmentfault.com/a/1190000009650716 相关原理参考2:https://blog.csdn.net/Chengbo_X/arti
阅读全文
摘要:一.cdn方式,新建测试react项目 1)npm init y 2)npm i react S (yarn add react) 直接找node_modules/react/umd目录 react.development.js文件 3)npm i react dom S (yarn add rea
阅读全文
摘要:vue对js基础语法违反 1.js基础里,双引号里是字符串,不会做任何其他操作。vue中的双引号,不代表字符串,他可能还需要运算。这号蛋疼了。 2.css中的短链接,要换成小驼峰式。 react对js基础语法违反 1.js基础里,双引号里是字符串,不会做任何其他操作。vue中的双引号,不代表字符串,
阅读全文
摘要:vue中的v model 首先要记得,这个写法,不是modle,不是module。记得,有五个单词。 其次,所谓的指令,应该算是扩充了HTML元素的属性。本质上,是一种元素属性。 目标是响应式输入和输出 方法一:原生JS的实现方式 方法二:vue中的原生写法 方法三:vue中的简写方式 v mode
阅读全文
摘要:vue中的v for可以循环四种数据,分别是, 数字,字符串,数组,对象 首先,v for是属性,是对元素属性的扩展。记得,是v for="",而不是 v for:"". 接着,在v for属性的值是表达式,里面的参数,用逗号,而不是用空格隔开。 一:v for循环数字 二:v for循环字符串 三
阅读全文
摘要:问题 今天遇到了ios手机下 弹出层上form表单 当收起键盘后,焦点错乱,无法再操作的问题 问题原因 Ios收起键盘以后,会对页面进行滚动操作,只需要 window.scroll(0,0)来重置一下就好。 解决办法 `
阅读全文
摘要:IOS系统中点击失效 问题 当委托给一个元素添加click事件时,如果事件是委托到 document 或 body 上,并且委托的元素是默认不可点击的(如 div, span 等),此时 click 事件会失效。 例如: 问题原因 React attaches event listeners to
阅读全文
摘要:第一个,使用计算属性,来修改数据 <div id="example"> <p>{{ now }}"</p> <p>{{msg}}</p> </div> <script> // 在控制台,使用vm.msg=2,修改msg的时候,时间不会发生变化 var vm = new Vue({ el: '#exa
阅读全文
摘要:老师就推荐了一个vue插件,叫vetur,但是为什么,不能自动补全,script,methods和export default? 步骤 1. 先安装好 vetur 2. cmmond + , 在右侧配置相中添加如下代码(这个怎么找啊,草) "emmet.syntaxProfiles": { "vue
阅读全文
摘要:一:对象写法 <script type="text/javascript"> var app=new Vue({ el:'#app', data:{ isLogin: false } }) </script> 二:函数写法 <script type="text/javascript"> var ap
阅读全文
摘要:两者的区别 使用router-link方式跳转,会在页面渲染的时候就加载对应的路由比起直接写的方式的优点:不管是h5的history还是hash模式,切换的时候很方便;会默认阻止浏览器的默认事件;写路径的时候不用写基路径了。 $router.push("/myroute")跳转到对应的路径,可在页面
阅读全文
摘要:vue那么多指令怎么记忆?如果单纯靠长期经验,难免会停在经验主义上,我想应该有一个经典的分类,来梳理和概括vue 思考问题如下 1.vue操作的是dom还是html 2.html和dom的区别 3.dom是否存在类似html的标签 4.标签三要是什么?vue是如何区别修改的,以及在vue中的对应的概
阅读全文
摘要:Web前端开发中,以post方式向服务器发送请求的操作再平常不过。发送post请求时,若需要传递数据,数据是包含在消息主体中的。 # HTTP 请求<method> <request-URL> <version><headers> <entity-body> # 消息主体传递数据的方式有两种:表单和
阅读全文
摘要:首先JS获取当前时间 <script type="text/javascript"> window.onload = function(){ var nowDate = new Date(); var str = nowDate.getFullYear()+"-"+(nowDate.getMonth
阅读全文
摘要:经常遇到的两种情况是: 1.很多别人写的项目,出现了问题以后,自己解决不了,找我们解决。 2.仿站,是扒下来的代码,扒完以后,没法正常运行。 这时候,就是考验功力和耐心的时候了。 如何排查,有四点要说: 一:注释JS 最好的方法,永远的第一个想法,就是注释掉JS。 注释掉一些js文件,再运行,一个个
阅读全文
摘要:一.layer的弹出层,有bug,或许是跟当前的JS冲突,所以,使用了zdialog.js 参考链接:http://www.jq22.com/jquery-info18718 引入三个文件,分别是,jquery.js,zdialog.js,zdialog.css 其中,具体的样式,可以在zdialo
阅读全文
摘要:如何用vue做网站前端?一般分两种模式: 一:单兵模式(HTML格式):简单的站点,直接用HTML的形式,简单的引用vue.js就行了。跟jq那种模式差不多。 简单引用模式,主要做一些小项目,也能对VUE的基础知识,有很好的练习。 这里总结一下,VUE的指令,有14个。 二:全家桶模式(单文件组件)
阅读全文