小程序和vuex的一些总结

  • Post author:
  • Post category:vue


1.小程序的权限列表少了智能控制接口

2.把图片转换成base64

将一副图片数据编码成一串字符串,使用字符串代替图片地址

可以减少http请求

加密:让用户一眼看不出图片的内容

方便引用

可逆的编码方式:

适合在http mime协议下快速传输数据

base64.encode()

base64.decode()

setCookie

getCookie

3.组件之间的数据传递

属性绑定

事件绑定

vuex

state

或者导入mapState

Mutation函数修改state里面的数据

在组件中使用this.$store.commit(‘add’)调用该方法

Mutations:可以在触发的时候传递参数

Mutations: {


addN(state,step) {


state.count+=step

}

}

在调用的时候

this.$store.commit(‘addN’,3)

触发mutations的第二种方式:导入mapMutations函数

import { mapMutations } from ‘vuex’

methods: {


…mapMutations([‘add’.‘addN’]}

}

调用的时候就是this.add()即可

传值的时候:

this.addN(3)

在Mutations中不能写异步的代码

那么怎么操作异步事件呢

Action 用于处理异步任务

但在Action 中还是要通过触发Mutation的方式间接变更数据

actions: {


addA(context) {


setTimeout(()=>{


context.commit(‘add’)

},1000)

}

}

触发这个函数:this.$store.disPatch(‘addA’)

在actions中不能直接修改state中的数据,必须通过context.commit()触发某个mutations才行

因为只有mutations中的函数才有权力去修改state中的数据

commit用来触发某个mutation

disPatch用来触发某个action

触发actions异步的时候携带参数

触发:this.$store.disPatch(‘addA’,5)

actions接收:addA(context,step)

context.commit(;add’,step)

mutations接收:

add(state,step){}

触发actions的第二种方式:

导入 mapActions

映射:…mapActions([’’])

使用:this.函数名

Getter用于对store中的数据进行加工处理形成新的数据

使用getters的第一种方式;this.$store.getters.

第二种方式:mapGetters

导入mapGetters

计算属性:…mapGetters([’’])

使用:this.

trim()除了单词之间的空格外,移除文本中的所有空格

// 根据id删除对应的任务事项

removeItem(state,id){


const i = stae.list.findIndex(x=>x.id=

id)

if (i!

-1){


state.list.splice(i,1)

}

}

}

// 统计未完成的任务条数

unDoneLen(state){


return state.list.filter(x=>x.done===false).length

}

编程

计算机程序

机器语言 汇编语言 高级语言

编程语言 格式词汇 控制计算机

翻译器

标记语言 用来读取

数据存储单位

cpu读的的内存中的代码

js

数组:一组数据的集合

利用数组字面量来创建数组

数组里面的数据用,分隔

取数组 遍历数组

小程序 :无需下载卸载 无需适配 社交 即用即走 随手可得

px:绝对单位为

rpx:相对长度一半 响应式单位

px:rpx=1;2

navigator url 链接

text元素的内容只能是纯文本 不能添加链接

display:inline 可以不换行 当作行内元素

open-type=“navigator”

nav-hover点击样式

nav-default默认样式

默认样式需要放在点击样式之前

当页面为tabbar时 不能再跳转了 那么 open-type=“switchtab”

全局配置 window:

数据绑定:映射 page页面中的data属性

把data中的值渲染到页面之上 {

{data}} 跟vue中的是一样的

运算表达式 条件表达式 三点运算符

编辑器 查看 修改 appdata可以看到数据 跟vue中的调试差不多

视图层view 逻辑层 js 数据绑定和事件机制 交互行为

条件渲染 当条件成立的时候才会使用

先把元素定义出来 再给与条件

wx:if=”” 根据条件是否成立来展示

使用条件渲染和hidden属性的区别:频繁切换,不建议使用条件

hidden只是不呈现 还是渲染,if 是当条件为真的时候才渲染

频繁切换用hidden 偶尔切换用if

v-if v-show(css之间切换)

列表渲染 类似循环语句

命名规范 语义化 驼峰式

循环 wx:for 绑定属性 针对数组生成 通过item 可以访问到每个数据

item是对数组的遍历 index的值 为下标

swiper组件 swiper-item每一张幻灯片

current=“0” 设置幻灯片的页数 换成最后一页的序号 arr.length

在最后一页的时候增加一个返回按钮 条件 渲染

position:定位

页面色生命周期函数

onLoad:页面加载的时候 初始化

this.data.current 取得值

setData赋值

onShow 每一次页面显示的时候会调用

onReady

onHide

onUnload

更新数据:逻辑层更新 this.setData()进行更新 不能直接赋值写入的方式

this.setData({


count:this.data.count+1

})

真正的更新 某一小部分数据进行更新

视图层 更新的时候 逻辑层的数据不会发生变化 是单向绑定

事件机制 : 冒泡事件和非冒泡事件

bindtap catchtap

冒泡事件:向上传递给父元素的事件 bindtap

catchtap会阻止冒泡事件

组件的自定义属性

绑定bindtap事件处理函数 : 实现页面的跳转 data-use-name=”” 自定义的数据属性

封装事件对象 data-id=”{

{item.id}}” 在函数中function(event)

event.currentTarget.dataset

wx.navigatoeTo wx.redirectTo …

?id=””传递参数

在页面初始化的时候获取query参数 :onLoad(options)

当跳转到一个页面的时候 会执行onLoad方法

options参数对象 options.id

然后通过setData方法将接收到的数据保存到data中

小程序发起网络请求

wx.request({


url : ‘’

method : ‘’

data : {


x : 1,

y: 2

}

header: {


}

success: function(res){}

fail:function(){}

complete:function(){}

})

动态设置loading

两个方法

页面事件处理函数与兹定于页面转发

onShowAppMessage:function(){


return {


title: ‘’

}

}

在有上角… 分享

组件化开发 :

多页面开发 表单处理 图片选择存储 页面数据同步 本地数据储存 自定义组件

什么是组件 : 业务逻辑和功能进行封装

高内聚 可复用

如何定义一个组件

钩子方法

视图组件 表单组件 基础内容 导航组件

配置 事件

构建和引入组件

json

前端页面优化:加载速度更快

成本更低

扩展性好

代码语义化

seo



版权声明:本文为qq_40409143原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。