更新记录

v1.0(2023-03-16) 下载此版本

初步上架,属于是能用,但对vue3在浏览器上显示兼容性不是很佳


平台兼容性

uni-app

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
- - - - - - - -
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 快应用-华为 快应用-联盟
- - - - - - - - - - -

bing-countup

![github]

uni-app地址

一个轻量级数学渲染

特别说明

出发点:找一个渲染数学公式的组件,虽然uni-app插件市场也有几个,但是不是很如意

使用MathJax,链接: MathJax | Beautiful math in all browsers.

配置参考 https://www.osgeo.cn/mathjax/options/menu.html#menu-options

使用uni-app的renderjs,对数学公式(LaTeX、MathML)渲染,注:自己写的公式测试时,注意转义符\

在线LaTeX公式编辑器-编辑器 (latexlive.com)

注意: !!!!!!!

在manifest.json选择vue版本,

vue2下,该组件可以在浏览器下正常显示,手机上也可以正常显示vue3下,组件在浏览器显示不出来,手机上正常显示

原因:在vue3下,renderjs被初始化加载3次,而vue2下加载2次,

秉着在手机下能用的态度,啊!啊!啊!目前是不修动了 或者你选择Vue2,都可以正常显示, 或者选择Vue3,但是在浏览器显示不出来

注意2:

在实例代码下,放了加载用到的js文件,如果想使用本地文件加载,根据注释修改 script.src 即可, 默认采用CDN 即: script.src = 'https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml.js'

安装方式

本组件符合easycom规范,HBuilderX 2.5.5起,只需将本组件导入项目,在页面template中即可直接使用,无需在页面中import和注册components

示例

template 中使用组件

复制代码<template>
    <view class="content">
        <!-- 表达式1 -->
        <view class="show1">
            <bing-math :latex="mathlab1"></bing-math>
        </view>

        <!-- 表达式2 -->
        <view class="show2">
            <bing-math :latex="mathlab2"></bing-math>
        </view>

        <view class="btn">
            <button @click="update1">修改表达式1</button>
            <button @click="update2">修改表达式2</button>
            <button @click="update3">全部修改</button>
            <button @click="clear">清空</button>
        </view>

        <!-- 表达式3 -->
        <view class="show3">
            <bing-math :latex="MathML"></bing-math>
        </view>
    </view>
</template>

<script>
    export default {

        data() {
            return {

                mathlab: '设$f(u)$可导,$z=xy f({y \\over x})$,若$x\\dfrac{\\partial z}{\\partial x}+y\\dfrac{\\partial z}{\\partial y}=xy(lnx-lny)$,则( )',
                mathlab1: '$$x = {-b \\pm \\sqrt{b^2-4ac} \\over 2a \\in} .$$',
                mathlab2: '$$x = {-b \\pm \\sqrt{b^2-4ac} \\over 2a \\in} .$$',
                MathML:`<math>
                            <mfrac>
                                <mn>7</mn>
                                <mn>26</mn>
                            </mfrac>
                        </math>
                        `
            }
        },
        methods: {
            update1: function() {
                this.mathlab1 += "$dt$"
            },
            update2: function() {
                this.mathlab2 = "$\\Delta X$"
            },

            update3: function() {
                this.mathlab2 = this.mathlab
                this.mathlab1 = this.mathlab
            },
            clear: function() {
                this.mathlab1 = ""
                this.mathlab2 = ""
            }
        }
    }
</script>

<style>

</style>

如果需要引用,可以使用以下方式

复制代码<script>
    import BingMath from "@/components/bing-math/bing-math.vue"
    export default {
        components: {
            'bing-math': BingMath
        }
    }
</script>

注: 为确认是否启用bing-math组件及事件,默认有一些console.log()提示,如果不需要提示,可以打开bing-math.vue把所有的console.log()提示信息都删了。

API

bing-math @property

属性名 类型 默认值 说明
latex String ' ' 含有LaTeX的文本 或 MathML

更新

如果大家对兼容有好的方案,请不吝赐教,做好兼容问题

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议
大楷

2025-03-20

大佬,为啥我下载了示例项目,在小程序上渲染不出来啊?渲染失败了。

糖分至上

2024-08-01

大佬大佬,v3版本上手机端有的时候也会渲染失败,概率问题,请问这个怎么解决。

233***@qq.com 2024-08-01

你把要加载的那个文件,放到本地试一试

糖分至上 2024-08-01

谢谢大佬,我也是这么想的,先看看是不是网络的问题

糖分至上 2024-08-01

我下载了,也会加载失败,请问就需要更换引入的文件就行了吗,别的地方需要调整吗, var script = document.createElement('script') script.id = 'MathJax-script' // script.src =https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml.js' script.src = '/static/js/tex-svg.js'; document.head(script)

糖分至上 2024-08-01

报错 window.MathJax undefined at components/bing-math/bing-math.vue:54 at uni-app-view.umd.js:7

查看更多
林茜

2024-04-19

有没有人遇到过识别不出来boldsymbol的呀 试了各种配置都不好用

233***@qq.com 2024-04-19

直接用\boldsymbol{a}是不行的,写在$$里,如$\boldsymbol{a}$

306***@qq.com

2023-12-15

作者能说一下为什么不能在小程序上展示嘛

233***@qq.com 2023-12-26

不好意思,我的一些小程序开发工具(微信开发者工具),电脑没内存了,就卸载了,没有测试,所以我并没有给小程序打勾

前端_小江

2023-11-23

vue3不能用,希望能搞个vue3版本的

233***@qq.com 2023-11-27

vue3浏览器显示有问题,手机端是可以的,现在手机端也不行了吗?

昵称都被用了

2023-08-02

如何自动换行

233***@qq.com 2023-11-27

换行我觉得你可以在对你的前端代码进行修改

159***@qq.com

2023-05-10

大佬,这个在vue2 安卓上能正常使用吗

233***@qq.com 2023-05-10

可以,就vue3在电脑浏览器调试不行,显示有点不满意,手机端,ok的

2023-04-01

[attach]109884[/attach] 在线公式编辑器这个源码开放吗?付费也行,想接入这个