返回介绍

全局配置

发布于 2020-10-10 07:56:11 字数 2306 浏览 1667 评论 0 收藏 0

Mpx.config 是一个对象,包含 Mpx 的全局配置。可以在启动应用之前修改下列 property:

useStrictDiff

  • 类型boolean

  • 默认值false

  • 用法

每次有数据变更时,是否使用严格的 diff 算法。如果项目中有大数据集的渲染建议使用,可以提升效率。

import mpx from '@mpxjs/core'
mpx.config.useStrictDiff = true

注意:由于微信小程序的bug,同时使用useStrictDiff和增强指令wx:style时,要注意更改数据的方式。如下所示:

// 入口文件
import mpx, { createApp } from '@mpxjs/core'
mpx.config.useStrictDiff = true

// 页面page文件
<template>
  <view>
    <view wx:style="{{style}}">test</view>
  </view>
</template>

<script>
  import { createPage } from '@mpxjs/core'
  createPage({
    data: {
      style: {
        color: 'red',
        fontSize: '18px'
      }
    },
    onLoad () {
      setTimeout(() => {
        this.setData({ // 当useStrictDiff设置true时,需要用setData的方式设置整个style对象
          style: {
            color: 'blue',
            fontSize: '18px'
          }
        })
        // this.style.color = 'blue' // 当useStrictDiff设置true时,不能使用这种方式,style不会生效
      }, 1000)
    }
  })
</script>

ignoreRenderError

  • 类型boolean

  • 默认值false

  • 用法

当数据发生变化时,会调用 render 函数更新视图(render 函数由 template 模板转化而来)。 设置ignoreRenderErrortrue,会忽略 render 函数执行出错的警告。

import mpx from '@mpxjs/core'
mpx.config.ignoreRenderError = true

ignoreConflictWhiteList

  • 类型Array<string>

  • 默认值['id']

  • 用法

Mpx 实例上的 key(包括data、computed、methods)如果有重名冲突,在ignoreConflictWhiteList配置中的属性会被最新的覆盖;而不在ignoreConflictWhiteList配置中的属性,不会被覆盖。

只要有重名冲突均会有报错提示。

import mpx from '@mpxjs/core'
mpx.config.ignoreConflictWhiteList = ['id', 'test']

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文