• 小程序多余文本省略号显示


    废话不多说,之前写小程序碰到了一个问题,如何在 wxml 页面中截取数据?

    1、wxs

    取数据想必大家都会,不就是 substring 吗?但是这种方法在 wxml 页面中是无效的。那还有 css 啊,不一样可以做到吗?但是个人觉得 css 复用性太差,暂不考虑。

    实在不行就用 js 呗,在获取到数据后就对数据进行截取。这样好像可以,但数据一多稍微有点复杂,而且一般获取的数据可能会在多个页面进行展示,而如果想在不同的页面中显示不同长度的数据,这似乎又是个新问题。

    这时你就需要用到 wxs 了,官方介绍是:「WXS(WeiXin Script)是小程序的一套脚本语言,结合 WXML,可以构建出页面的结构」,没听过的可以去看一下官方文档说明。

    2、wxs 怎么用

    // page.js
    Page({
      data: {
        array: [1, 2, 3, 4, 5, 1, 2, 3, 4]
      }
    })
    // page.wxml
    <wxs module="m1">
    var getMax = function(array) {
      var max = undefined;
      for (var i = 0; i < array.length; ++i) {
        max = max === undefined ?
          array[i] :
          (max >= array[i] ? max : array[i]);
      }
      return max;
    }
    module.exports.getMax = getMax;
    </wxs>
    <view> {{ m1.getMax(array) }} </view>
    
    输出:5

    这是一个官方的案例,wxs 可以直接写在 wxml 页面中,但是为了达到复用的效果,推荐单独建成文件调用。

    我是这么写的,新建一个 app.wxs 文件,就像写普通的 js 方法差不多,写完之后用 module.exports 暴露,等待调用。

    // app.wxs
    var substring = function (text, textLength) {
      if (text.length == 0 || text == undefined) {
        return;
      }
      else if (text.length > textLength) {
        return text.substring(0, textLength) + '...';
      } else {
        return text;
      }
    }
    module.exports = {
      substring: substring
    }

    然后在 wxml 文件中进行引用使用。

    // page.wxml 部分代码
    <!-- 引入 app.wxs 脚本 -->
    <wxs src="../../../../utils/app.wxs" module="tools" />
    <view>标题:{{ tools.substring(title, 10) }}</view>

    这样就能自由地在各个页面中显示不同的字符串长度了。

    资源搜索网站大全 https://www.renrenfan.com.cn 广州VI设计公司https://www.houdianzi.com

    3、举一反三

    当然,如果想对时间的显示样式进行处理,一样可以在 wxs 文件中编写对应的函数方法进行调用处理。

    总之 wxs 就相当于有了和 js 类似的能力

  • 相关阅读:
    计算机科学与软件工程的区别
    中文编程对中国程序员是一个“银弹”吗?
    CocoaPods的使用心得
    初学 Swift (实现加减乘除功能和函数的基本类型)
    error itms-90096?苹果提交二进制文件时,报这个错(解决方案)
    因为年轻,所以拼搏
    [转载]C#中的interface abstract和virtual
    一个简单的.NET MVC实例
    Unity3d + Jenkins自动构建IOS篇遇到的问题。
    BZOJ1005: [HNOI2008]明明的烦恼
  • 原文地址:https://www.cnblogs.com/xiaonian8/p/14092537.html
Copyright © 2020-2023  润新知