如何让小程序页面更顺滑_小程序二十七 页面模板

news/2024/7/23 8:53:26 标签: 如何让小程序页面更顺滑

9a69ffa62963a7b3484aed9d395ba702.png

崇张氏从小区向外拍的望京soho

望京soho,广州大剧院,南京青奥中心,大兴机场,都是建筑设计大师扎哈的作品。

人文感受:相关信息系统,其实对产品化要求相当高,企业内部相关业务部门抽调专业业务人员,IT部门抽调技术骨干,业界知名IT公司加盟,开始攻关搞建模搞系统设计,其实,上述专业业务人员,IT技术骨干,知名IT公司,都不是目标产品的专业设计人员!问自己一个问题,如果把目标系统当做一个数字化产品,你们的产品经理组在哪?谁对这个产品的成败(而不是否投产,是否投产是个实施问题,是个项目管理问题)负责?谁会持续运营这个产品并最终对他的成本和收益负责?你们是在搞个产品还是在搞个项目?

开始正题!很多时候,需要复用WXML+WXSS形成的交互窗口的风格,你可以在WXML里复制粘贴这些代码,但更好的做法是使用模板,就像你定义函数一样,在一个地方定义,在多个地方调用,只是微信小程序模板的定义和使用,相比函数,有很多的约束。

有时想,学习语言或某个技能,其实就是在学习约束,要这样做,不要那样做,等等的,不就是知识点吗?

模板,有页内模板和页外模板(这是本人的划分),就像c语言程序里面是在文件内定义的函数还是在函数库定义的函数。页外模板在使用时,需要用来引入定义模板那个WXML文件,用@import "......" 来引入对应的wxss文件;页内模板不需要引入,可以直接引用,不用import!为啥叫页面模板?因为对应的,还有自定义组件。

另外,网上有些页外模板资源可以拿来用,就不用自己再去“设计”了呢!

定义页外模板

  1. 建立一个文件夹,放置模板文件

  2. 建立页面文件假设为templatelib(我随便起的名字)

  3. 书写目标样式WXML和必要的MXSS及.js文件(测试绑定数据用),并测试验证显示无误,即已达到目标要求

    我简写为......

  4. 修改WXML为模板

             ......

           ......

    5.删除.js 和.json文件,这两个文件,对页面模板而言没用,其实不删也无所谓了,我测试过

引用页外模板

  1. 在引用页面的WXML页面的最前面,引入模板

    这个路径要用相对路径,且文件名要是WXML

  2. 在引用页面的WXML对应的WXSS里面,引如版本文件对应的样式文件

    @import "../templatelib/templatelib.wxml" ;

  3. 在引用模板的地方用is属性指定要引用的模板名称,就是用name属性定义的那个名称

    看下效果吧!

  4. 上面都没有提高模板怎么使用和怎么传入数据,哈哈,这个,看代码示例吧,实在不懂呢,就直接问我吧

代码示例

dd057710f4b86299e0cc4390c65c0e5a.png

b703ed20adf82510a8ebdaa7a8264c9d.png

模板定义

<template name="listforitem">

  <view class="userinfo1">

    <text class="number">{{num}}text>

    <text class="width250">{{name}}text>

    <text class="width150">{{sex}}text>

    <text class="number">{{age}}text>

  view>

template>

模板定义对应的wxss

/* miniprogram/pages/listforitem.wxss */

.userinfo1 {

  padding-left: 120rpx;

  /* margin-top: 40rpx; */

  height: 140rpx;

  width: 100%;

  background: #fff;

  border: 1px solid rgba(0, 0, 0, 0.1);

  border-left: none;

  border-right: none;

  display: flex;

  flex-direction: row;

  align-items: center;

  /* transition: all 300ms ease; */

}

.number{

  width: 50rpx;

}

.width250{

  width: 250rpx;

}

.width150{

  width: 120rpx;

}

模板调用的WXML

<import src="../listforitem.wxml"/>

<text class="temptitle">页外模板样例,每行使用了同一模板text>

<block wx:for="{{itemtest}}">

<template is="listforitem" data="{{...item}}"/>

block>

模板调用的.js片段

Page({

  data: {

    itemtest:[{

      num:1,

      name:"zhangzhitian",

      sex:"male",

      age:50

    },

    {num:2,

    name:"Chongshan",

    sex:"female",

    age:45

    },

    {num:3,

      name:"sebrinachong",

      sex:"female",

      age:40

      } ]

  },

})

注意:

模板定义时页面变量和模板使用时提供的data数据的属性名称要一致!

可以根据判断条件选择使用的模板,例如:

is="{{index%2 === 0 ? 'courseLeft' : 'courseRight'}}",也可以使用wx:if动态选择要使用的模板

全部代码,可参考https://github.com/tommybeijingchina/templateshow.git


http://www.niftyadmin.cn/n/629920.html

相关文章

浏览器与css的兼容,CSS浏览器兼容性与解决

一、超链接访问后hover样式不出现1、现象描述&#xff1a;同时设置了a:visited和a:hover样式&#xff0c;但一旦超链接点击过后&#xff0c;hover的样式就不再出现了。2、解决方法&#xff1a;调整样式顺序为先a:visited再a:hover即可。a标签四种状态的排序&#xff1a;l(link)…

中project报错_SparkSQL中map字段不能进行union、intersect、except操作吗?

通过SparkSQL&#xff0c;对两个存在map类型字段的Hive表进行union操作&#xff0c;报如下错误&#xff1a;org.apache.spark.sql.AnalysisException: Cannot have map type columns in DataFrame which calls set operations(intersect, except, etc.), but the type of colum…

ajax网页编程基础知识,ajax基础知识 - 毓道的个人空间 - OSCHINA - 中文开源技术交流社区...

1. 同步请求和异步请求同步请求: 基于超级链接, 地址栏, form表单,location.href 发起的请求全部为同步请求 特点: 请发之后, 刷新整张页面基于ajax发起的请求为异步请求 特点: 多个请求并发执行, 请求之间互不影响, 请求之后页面不动, 响应回来刷新页面的局部2. 概念Ajax (Asy…

c#窗体编辑个人简历_PC SDK二次开发:基于C#语言编写的ABB机器人控制器扫描程序...

ABB机器人除了具备优异的控制系统外&#xff0c;还对外扩展了丰富的二次开发接口&#xff0c;即PC SDK。使用PC SDK接口可以在PC上开发自定义的操作界面&#xff0c;用来控制任何一款具有IRC5控制器的ABB机器人。同时&#xff0c;它还可以开发用于与控制器交互的RobotStudio仿真…

用python画简单的动物代码_用python生成字符画

python生成字符画大家好&#xff0c;我是酷叮猫少儿编程的酷酷老师&#xff0c;今天给大家介绍的是一个非常有意思的小程序。相信大家都看过很多非常漂亮的图片&#xff0c;那么python如何把图片用字符显示出来呢&#xff1f;原图是这样的:生成的字符画是这样的&#xff1a;是不…

Java之品优购课程讲义_day18(11)

修改订单状态 5.5.1 服务接口层 在 pinyougou-order-interface 的 OrderService.java 新增方法定义 /*** 修改订单状态 * param out_trade_no 支付订单号 * param transaction_id 微信返回的交易流水号 */public void updateOrderStatus(String out_trade_no,String transacti…

http gzip 解压_接口测试第8课(压缩解压)

上节课我们学了cache(缓存)&#xff0c;今天这节课&#xff0c;我们主要学习下压缩解压。川石软件测试一、什么是HTTP压缩&#xff1f;HTTP压缩采用通用的压缩算法如gzip等压缩HTML、JavaScript或CSS文件。1.GZIP是一种数据格式&#xff0c;默认且目前仅使用deflate算法压缩dat…

ajax頁面讀取串口數據,更改GET頁面請求上的數據(處理預加載請求)

因爲我沒有看到chrome添加了一些特定的頭文件(或者無論如何通知服務器prerendering狀態)可能無法在服務器端檢測到它...至少不是直接。但是&#xff0c;您可以模擬客戶端的檢測&#xff0c;然後將其與服務器調用結合使用。注意&#xff0c;您可以在客戶端檢測預渲染&#xff1a…