微信小程序-全局数据共享

微信小程序-全局数据共享MobX

1.开发中常用的数据共享方案

​ 为了解决组件之间的数据共享,开发中常用的数据共享方案有:Vuex/Redux/MobX

2.小程序中全局数据共享方案-MobX

​ 在小程序中,可使用mobx-miniprogram配合mobx-miniprogram-bindings实现全局数据共享。

  • ​ mobx-miniprogram用来创建Store实例对象
  • ​ mobx-miniprogram-bindings用来把共享的数据或方法,绑定到组件或页面中使用。

3.安装及使用

3.1安装

命令如下:

npm install  --save  mobx-miniprogram@版本  mobx-miniprogram-bindings@版本

注意:重新构建npm

3.2 全局数据共享实例

在根目录下创建store/store.js,专门用来创建Store实例

// 在这个 JS 文件中,专门来创建 Store 的实例对象
//按需引入,observable专门用来创建store对象
import { observable, action } from 'mobx-miniprogram'

export const store = observable({
  //共享数据 的 数据字段
  numA: 1,
  numB: 2,
  // 计算属性,get表示只读,只能获取,无法重新赋值
  get sum() {
    return this.numA + this.numB
  },
  // actions 函数,专门来修改 store 中数据的值,里面是一个函数
  updateNum1: action(function (step) {
    this.numA += step
  }),
  updateNum2: action(function (step) {
    this.numB += step
  })
})

3.3 绑定到页面

​ 在页面的.js文件中,写如下代码

//导入createStoreBindings,用来把共享的数据或方法,绑定到组件或页面中使用
import { createStoreBindings } from 'mobx-miniprogram-bindings'
// 导入store
import { store } from '../../store/store'

Page({
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
      //将store/fileds-数据/actions-方法 绑定给this
    this.storeBindings = createStoreBindings(this, {
      store,
      fields: ['numA', 'numB', 'sum'],
      actions: ['updateNum1']
    })
  },
	//普通方法的定义
  btnHandler1(e) {
    // e.target.dataset是固有属性,保存传来的step
    // 对应的wxml--<button type="primary" bindtap="btnHandler1" data-step="{{1}}">numA + 1<button> data-step属性表示
    this.updateNum1(e.target.dataset.step)
  },
  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
     //销毁绑定
    this.storeBindings.detroyStoreBindings()
  }

})

3.4 绑定到组件

3步:引入、挂载、绑定

//引入 storeBindingsBehavior
import { storeBindingsBehavior } from 'mobx-miniprogram-bindings'
//引入 store
import { store } from '../../store/store'

Component({
   //将storeBindingsBehavior挂载到behaviors上
  behaviors: [storeBindingsBehavior],
  storeBindings: {
    // 数据源
    store,//指定要绑定的store
    fields: {
      numA: ()=>store.numA,//绑定字段的第1种方式
      numB: (store)=>store.numB,//绑定字段的第2种方式
      sum: 'sum'//绑定字段的第3种方式
    },
     //方法
    actions: {
        //指定要绑定的方法
      updateNum2: 'updateNum2'
    }
  },
  /**
   * 组件的方法列表
   */
  methods: {
    btnHandler2(e) {
      this.updateNum2(e.target.dataset.step)
    }
  }
})

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 微信小程序数据安全控制主要包括以下几个方面: 1. 数据传输安全:小程序中的数据传输需要使用HTTPS协议进行加密传输,确保数据不会被篡改或窃取。 2. 数据存储安全:小程序在使用微信开放的数据存储服务(如云开发)时,需要保证数据存储在安全的地方,同时需要对数据进行合理的加密和鉴权控制。 3. 用户信息保护:小程序需要遵循相关的隐私保护法规,如《中华人民共和国网络安全法》、《中华人民共和国个人信息保护法》等,保护用户的个人信息安全。 4. 安全审计与漏洞修复:小程序需要定期进行安全审计,发现潜在的安全漏洞并及时修复,确保小程序的安全性和稳定性。 5. 访问控制:小程序需要对不同角色的用户进行访问控制,确保不合法的用户无法访问敏感数据和功能。 6. 安全日志和监控:小程序需要建立完善的安全日志和监控体系,对异常事件进行及时的监控和处理,保障小程序的安全性和可用性。 ### 回答2: 微信小程序数据安全控制采取了多种措施来保护用户数据的安全性。 首先,微信小程序采用了严格的权限管理机制,只有用户授权的小程序才能访问其个人数据,如通讯录、位置信息等。用户在使用小程序时可以选择是否授权给小程序访问这些敏感信息,这样可以避免未经用户同意的数据收集和滥用。 其次,微信小程序数据传输过程中使用了加密技术,保证了用户数据在网络传输过程中的安全性。小程序与微信后台服务器之间的数据传输均采用HTTPS协议,通过SSL/TLS加密通道进行传输,有效防止数据被窃听和篡改。 此外,微信小程序还采取了数据隔离机制,确保不同小程序之间的数据相互隔离,互不干扰。每个小程序都有自己的数据存储空间,不会与其他小程序共享数据,从而保障用户数据的隐私性。 微信小程序还对开发者进行了严格审核和管理,确保小程序的合法合规。开发者需要通过微信小程序平台的认证和审核才能发布小程序,不符合规范的小程序将被禁止上线,从源头上杜绝了潜在的数据泄露和滥用问题。 总之,微信小程序通过权限管理、数据加密、数据隔离和开发者审核等多种手段来确保用户数据的安全控制。用户可以放心使用微信小程序,享受便利的服务,同时也不用担心个人数据的泄露和滥用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值