Skip to content
On this page
开发指南 tmui.design

基础页面

很多人不理解为什么要套一个tmapp组件

  1. 各个组件在计算屏幕宽和高时会使用很多次uni.getSystemInfo这个函数,但大家就清楚使用这组件过多是会损耗性能的.因此我采用了继承方式,也就是在tmapp中 调用 一次即可.其它所有组件不再获取了,这样可通过支付宝和微信的性能检测(这个地方 有人会说组件间依赖强??,不然我怎么解决这个问题有知道的联系我)
  2. 主题之间的某些属性继承需要统一调用和获取.
  3. 可以在tmapp中放入更多的全局的组件,不用每一个去导入.比如:msg这些
  4. nvue端,text组件你想设置样式必须是在text组件上设置,而不是web平台那样,可以在父级设置,能影响子组件的样式.nvue是不支持的. 这里为了抹平差异和提高效率,也是需要在tmapp或者tmsheet中做属性继承.所以你发现用了这两组件后,写tmtext组件时,你不用写颜色了,因为自动处理了.

上面的理由和特性,一方面是增添便利性的同时也增强了组件库与框架的粘度,就会被大家批评耦合度过高!!!,但如果不这样做, 你们在开发nvue时效率其实非常低,也无法做暗黑和主题的切换

本文档所有出现的vue页面均表示为nvue页面为了让代码高亮,只能设置代码类型为vue。

vue
<template>
    <tm-app>
        <!-- 这里是你的页面代码。 -->
    </tm-app>
</template>

<script lang="ts" setup>
import tmApp from "@/tmui/components/tm-app/tm-app.vue"
//你的代码...
</script>