前端
react state 状态数据
props 和 state
props 特点是只读,即修改不会让视图同步更新,想要更新必须再次调用 render() 渲染函数
state 特点是可读可写,在使用 this.setState({属性名: 属性值}) 修改时会同步更新视图
state 创建和使用
state 必须在类组件的 constructor 内部,通过 this.state = {属性名:属性值} 定义
state 渲染数据
哪些标签存在伪元素,伪类和伪元素的区别
存在伪元素的标签:
1、大部分容器标签(大部分双标签)都有伪元素 iframe没有伪元素
2、大部分单标签都没有伪元素,但是img有伪元素
伪元素简介:
1、伪元素既然带一个“元素”,说明它和 p ,a ,h1 等一样,可以包裹住页面的一部分内容并对其中的内容施加一定的影响。我们可以通过样式表给其书写样式
2、伪元素既然还带一个“伪”,说明它其实在 DOM 树中并不存在,只是逻辑上存在所以我们抽象
Vue中computed与method的区别
两者间区别:
1、computed 会基于响应数据缓存,在值不变的情况下不会再次计算,而是直接使用缓存中的值;methods不会缓存,调用相同的值计算还是会重新计算;
2、diff之前先看data里的数据是否发生变化,如果没有变化computed的方法不会执行,但methods里的方法会执行
3、computed是属性调用,不需要加括号。而methods是函数调用,必须要函数执行才可以得到结果。
小程序页面之间(传值)传递数据的方法
1、给html元素添加data-*属性来传递值,然后通过e.currentTarget.dataset或onload的param参数获取(data- 名称不能有大写字母,不可以存放对象)
2、设置id 的方法标识来传值,通过e.currentTarget.id获取设置的id值,然后通过设置全局对象的方式来传递数据
3、在navigator中添加参数数值
4、使用全局遍历实现数据传递
5、页面跳转或
vue.js怎么实现全屏显示功能
1、安装vue-fullscreen
npm install vue-fullscreen
2、在mian.js中引用并注册
import fullscreen from 'vue-fullscreen'
Vue.use(fullscreen)
3、点击按钮上绑定fullscreen方法
data中定义:fullscreenFlag:false
fullscreen() {
//
微信小程序——全局数据共享
全局数据共享,也叫做状态管理,是为了解决组件/页面之间的数据共享问题
开发中常用的数据共享方案有 Vuex、redux、MobX 等
小程序中的数据共享方案
使用 mobs-miniprogram 配合 mobs-miniprogram-bindings 实现数据共享
mobs-miniprogram 用来Store创建实例对象
mobs-miniprogram-bindings 用来把St
Navigator.sendBeacon-页面关闭也能发送请求
背景
最近在需求中有一个这样的场景:需要在页面关闭的时候,用户不需要操作,主动关闭当前订单
当时考虑的方案:在页面关闭的时候,向后端发送一个请求,将这个资源释放掉;
定下方案时,觉得也不是什么难事,觉得谷歌浏览器应该会提供页面关闭的 API 供开发者使用。
经过查找,找到了这么两个 API :beforeunload 和 unload
beforeunload
当浏览器窗口关闭或者刷新时,会触
Vue中的keep-alive是什么意思?以及如何使用
一、keep-alive是什么?
<keep-alive>是vue内置的一个组件,能在组件的切换的过程中将状态保留在内存中,防止重复渲染DOM 包裹动态组件的时候,会缓存不活动的组件实例,而不是销毁他们!
<keep-alive>是一个抽象组件:它自身不会渲染一个DOM元素,也不会出现在父组件中,作为标签使用 包裹在需要缓存的组件中
注意:
1. include 字符串