2 刘勇大三入门前端

尚未进行身份认证

我要认证

一个喜欢前端的大三专科程序员

等级
TA的排名 5w+

vue的set api

在vue2.x里面数组与对象的属性变化 没办法 进行响应式所以推出了 this.$set(obj,key,value)方法或者this.set(arr,index,value)这样可以注册到data里面的响应式对象,来触发改变watcher 观察者 是每一个组件 特有的data 是数据 的切换 监听 的开始deep依赖 是一个数组列表 会把组件里面的data都进行依赖缓存缓存是一个数组 每次跟新都会去更新数组 根据id去数组里面去寻找对应的data值 这样就会避免多次更新 与去重的问题每一次

2020-10-17 21:57:10

vue路由杂谈

使用vue做单页面网站 ,路由的配置是必不可少的,我们需要配置路由使用use 注册到vue的实例里面 其实,也就是执行了install的方法,也因为这样我们可以给vue写很多插件,路由有hash 与history 一个是带#号一个是不带的 ,首先 这两个属性 都在 bom对象的location对象与history里面 存在我们可以通过location.hash来获取通过监听hash变化来控制页面显示隐藏同样我们可以获取history 这需要控制state运用如上的方法 来实现 路由 不管是 v

2020-10-13 20:51:24

vue脚手架的思考

作为前端开发者,vue应该是经常使用的,脚手架是做项目的部署方便的利器。经常用,所以会思考,比如从安装开始,我们会下载nodejs,有没有疑问为啥要下载,因为我们要开启web服务器。然后我们会在下载nodejs的时候,下载一堆的内置模块文件,nodejs是基于Google的引擎,包含了很多内置的模块,比如HTTP,文件读取,流,路径,等等,这些功能,正是因为这些模块,推动了express,与koa 等等web框架的出现。vue脚手架是用express来启动服务器的,所以下载完nodejs我们需要安装vu

2020-10-04 18:35:43

js上传文件转化base64预览图片

window.onload = function () { let but = document.getElementById('but') but.onclick = function () { console.log(123) let file = document.getElementById('files') file

2020-09-24 11:20:57

js实现文件上传下载

<!DOCTYPE html><html> <head> <script> window.onload = function () { let but = document.getElementById('but') but.onclick = function () { console.log(123)

2020-09-23 11:03:25

vue使用axios结合PHP多文件上传

<input type="file" ref="file" @change="upd" multiple>//单文件不需要加判断 多文件multiple加一个判断。 由于e.target.files是可迭代的对象我们先转换数组循环判断也是可以做单文件上传upd: function (e) { console.log(this.$refs.file) console.log(e.target.files instanceof Array)//fa

2020-09-21 23:27:30

token登录vue与php基于axios

vue的代码main.jsimport Vue from 'vue'import App from './parents.vue'import axios from 'axios'import qs from 'qs'axios.interceptors.request.use(function(config) { console.log(config.url) if (localStorage.getItem('token') === null){ console.log(

2020-09-20 15:44:53

vuex详细分析

mapGetters,mapActions,mapState,mapMutations把vuex里面的各个模块的数据仓库 同步 异步 初始化都遍历到一起,方便多人合作 ,各自维护数据,但是 从代码上看不出是什么仓库<template> <div class="hello"> <h1>{{ msg }}</h1> {{b}}{{q}}{{aa}} <button @click="getValue(1)">点击</

2020-09-18 17:44:57

前端规范

从缩进空格开始,命名小驼峰,甚至有些规定api传参需要下划线隔开单词,从登录开始,采用前后端分离,比如发送登录获取token,采用浏览器缓存保存起来,每次发送请求都验证一次,使用axios拦截器,放在main文件里面或者在发送请求的时候封装起来,在js里面采用eslint语法检测,规范自己的习惯,去扣每一个多余的空格,换行,缩进,练习git,提交拉取推送合并克隆新建分支一步步团队合作书写代码,因为组件化模块化工程化的前端,基本上每一个人都可以划分模块管理数据,独立互不干扰,从单纯的页面走到了今天,或许有一些

2020-09-12 22:41:05

vue前端项目工作

项目工作开始从配置文件开始因为是团队合作从url 配置文件 打包目录模块管理,vuex,组件,视图,混入mixins,从命名规范,语法规范,eslint规则,通过与产品沟通需求,与后端联调接口,通过发送的请求,了解数据。写好注释,让别人看的明白,养成习惯,规范多了,合作起来容易,尤其是项目很大,页面很多,不至于在数据管理方面出现混乱,现在都是spa页面或客户端渲染,服务器渲染。产品的原型图其实有时候不太对,我们也可以提出建议其实前端决定的东西也挺多的从组件化开始,抽离封装,基于ui组件库二次封

2020-09-05 20:23:22

构建前端项目的思考

现在都是组件化,用一个语义化的标签来渲染内容,让开发者看的更清楚,比如一些自定义的标签 不能与html标签冲突 来表达这一部分是什么,通过组件化的思想,来拆分功能模块,拆到不能拆为止,通过自定义封装组件,也让维护变得方便,结构更清楚。客户端渲染与服务器端渲染,如果你看的见前端代码标签body div之类的,有时候你只看得见script的js链接,因为都是靠发送请求来异步加载页面也利于分工模块,团队合作,现在的模块管理,代码导出,类型推断,从js到ts,从隐式到显式,封装api拦截劫持泛型,现在的框架

2020-08-28 23:18:57

vue与react分析

vue数据:双向绑定data使用视图模板template编译render函数创建虚拟节点diff算法比对转换真实节点在编译的时候存在动态数据与静态数据对比的时候没有改变的地方就跳过存在指令与数据的地方就着重的追踪在初始化的时候做好依赖收集与数据监听,每个组件都独立存在watcher使用complie来做指令的编译存在对应的生命钩子函数来额外对这些编译进行操作react数据:单向流动state使用函数或者类组件createElement创建虚拟节点diff算法对比转换真实节点react

2020-08-22 15:56:43

vue如何实现视图渲染

从脚手架入手template 模板 比如<template><div><span v-if="bool"></span></div></template><script>exprot default{data:function(){return {bool:"true"}}}</script>一步步来分析data使用函数来返回数据对象将这些数据对象做数据劫持使用object.

2020-08-20 13:11:45

axios的封装

import http from './http/index'Vue.use(http);//import {http} from './http/index'//Vue.prototype.$http=http;如下是index文件import axios from 'axios'export const http=async function(){ function But(){ return new Promise((resolve,reject)=>{

2020-08-18 14:24:41

前端面试第二波

昨天参加了一场面试分初试与复试自我介绍初试问了JavaScript的Bom 与dominnerText与innerHtml的区别常用的数据类型在vue里面怎么样输入路径不让他进入特定路由网页如何控制一个特定用户可以看见页面 普通用户看不见问了前后端分离 会做吗后端数据交互用axios吗 会封装使用吗生态全家桶都用过吗复试来了一个三十多快四十的大佬直接问做过什么项目没有怎么学习vue的是用什么搭建vue问了mysql数据库怎么样做复杂查询问会前后端分离吗学过nodejs吗然

2020-08-18 12:54:46

react-redux与router结合使用

路由配置注入数据provider每个子路由组件 都connect连接方法 数据redux数据import {createStore} from 'redux'//用于创建仓库import {combineReducers} from 'redux'//const initialState = {//state数据 cart: [ { product: 'bread 700g', quantity: 2, unitCost: 90

2020-08-16 16:07:06

react的国际化

locales的语言包目前是用json如果用json 采用require导入 会语法报错export default 或export constlocales.jsx文件export const locale={ "en": { "name":"<strong>LIU</strong>", 'age':"12" }, "zh": { "name":"刘", 'age':"12" }}i

2020-08-13 08:37:23

vue的国际化

在src目录下面建立语言包common下的ch.jsmodule.exports = { message: { login: '登录', Username: '用户名', Password: '密码', Captcha: '验证码', Language: '语言', zh: '中文', en: '英文' } }index.jsimport VueI18n from 'vue-i18n'Vue.use(VueI18n);

2020-08-13 08:15:50

react使用taro

Taro 是一个开放式跨端跨框架解决方案可以使用vue react框架开发小程序一系列的百度 支付宝 QQ等等没有支持安卓APP 那个还是使用uniappreact开发安卓使用react native小程序用 tarovue是uniapp都包了用过vue其实对比一下 都差不多 语法不一样实质上面还是封装了小程序原生api 生命周期 再结合框架的生命周期勾子函数 与框架语法 通过编译 形成小程序代码下面是taro的官网https://taro-docs.jd.com/taro/docs/RE

2020-08-06 23:40:31

react路由的withRouter

withRouter结合路由懒加载使用路由代码import React from 'react'import {HashRouter,Route,Link,Switch} from 'react-router-dom'import B from './bLoad'class A extends React.Component//A组件根路由{ constructor(){ super() } to=()=>{ console.log

2020-08-04 17:24:49

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 分享学徒
    分享学徒
    成功上传1个资源即可获取