3-1 官方文档整理-视图层-WXML文件

【视图层文件组成】:

  视图层由 WXML 与 WXSS 编写,由组件来进行展示。

  WXML(WeiXin Markup language) 用于描述页面的结构。

  WXS(WeiXin Script) 是小程序的一套脚本语言,结合 WXML,可以构建出页面的结构。

  WXSS(WeiXin Style Sheet) 用于描述页面的样式。

【WXML】

  【数据绑定】:数据绑定语法:使用双大括号将需要替换的对象括起来,下面的代码,界面文件中的{{message}}会替换为"Hello MINA".(莫非腾讯小程序还有个日漫迷?)

    {{表达式}}:{{}} 框架会计算{{}}中表达式的值!

    {{...item}}: ... 表示将 item 展开?(感觉再用Python)

    当绑定的对象是值类型时,直接用值替换

    当绑定的对象是字典类型是,用视图文件中{{}}中间的值做键,此键值对应的value,填入视图文件中对应的位置。

1 <!--wxml-->
2 <view> {{message}} </view>
1 Page({
2   data: {
3     message: ‘Hello MINA!‘
4   }
5 })

  【列表渲染】-其实也是绑定。下面代码中,会生成5行 <view></view>,依次填入不同的内容、

1 <!--wxml-->
2 <view wx:for="{{array}}"> {{item}} </view>
1 // page.js
2 Page({
3   data: {
4     array: [1, 2, 3, 4, 5]
5   }
6 })

【】

1 在组件上使用 wx:for 控制属性绑定一个数组
2 使用 wx:for-item 可以指定数组当前元素的变量名
3 使用 wx:for-index 可以指定数组当前下标的变量名

  【条件渲染】,当wx:if 之后的条件成立时,才生成<view></view>代码(类似于条件编译?),此例中,view == MINA,只生成 <view> MINA </view>

<view wx:if="{{view == ‘WEBVIEW‘}}"> WEBVIEW </view>
<view wx:elif="{{view == ‘APP‘}}"> APP </view>
<view wx:else="{{view == ‘MINA‘}}"> MINA </view>
1 // page.js
2 Page({
3   data: {
4     view: ‘MINA‘
5   }
6 })

  【wx:ifhidden

    因为 wx:if 之中的模板也可能包含数据绑定,所以当 wx:if 的条件值切换时,框架有一个局部渲染的过程,因为它会确保条件块在切换时销毁或重新渲染。

    同时 wx:if 也是惰性的,如果在初始渲染条件为 false,框架什么也不做,在条件第一次变成真的时候才开始局部渲染。

    相比之下,hidden 就简单的多,组件始终会被渲染,只是简单的控制显示与隐藏。

    一般来说,wx:if 有更高的切换消耗hidden 有更高的初始渲染消耗。因此,如果需要频繁切换的情景下,用 hidden 更好,如果在运行时条件不大可能改变则 wx:if 较好。

---------------------------------------------

  【模板】

  WXML文件中定义模板:

1 <!--wxml-->
2 <template name="staffName">
3   <view>
4     FirstName: {{firstName}}, LastName: {{lastName}}
5   </view>
6 </template>

  WXML文件中使用模板:

1 <template is="staffName" data="{{...staffA}}"></template>
2 <template is="staffName" data="{{...staffB}}"></template>
3 <template is="staffName" data="{{...staffC}}"></template>

  JS文件中注册数据:

// page.js
Page({
  data: {
    staffA: {firstName: ‘Hulk‘, lastName: ‘Hu‘},
    staffB: {firstName: ‘Shang‘, lastName: ‘You‘},
    staffC: {firstName: ‘Gideon‘, lastName: ‘Lin‘}
  }
}

  【事件】事件分为冒泡事件和非冒泡事件:    

  1. 冒泡事件:当一个组件上的事件被触发后,该事件会向父节点传递。
  2. 非冒泡事件:当一个组件上的事件被触发后,该事件不会向父节点传递。

  绑定语法:

1 <view id="outer" bindtap="handleTap1"></view>
2
3 <view id="middle" catchtap="handleTap2"></view>
4
5 <view id="outer" bind:touchstart="handleTap1" capture-bind:touchstart="handleTap2">
6
7 <view id="inner" bind:touchstart="handleTap3" capture-bind:touchstart="handleTap4">

  【事件的捕获阶段】:触摸类事件支持捕获阶段。捕获阶段位于冒泡阶段之前,且在捕获阶段中,事件到达节点的顺序与冒泡阶段恰好相反。需要在捕获阶段监听事件时,可以采用capture-bindcapture-catch关键字,后者将中断捕获阶段和取消冒泡阶段。

  【事件对象】:当组件触发事件时,逻辑层绑定该事件的处理函数会收到一个事件对象,详细请参考文档:https://developers.weixin.qq.com/miniprogram/dev/framework/view/wxml/event.html

  

【引用】:重复利用界面文件

  import:只会 import 目标文件中定义的 template,而不会 import 目标文件 import 的 template

  include:可以将目标文件除了 <template/> <wxs/> 外的整个代码引入,相当于是拷贝到 include 位置

原文地址:https://www.cnblogs.com/ailex/p/9636096.html

时间: 2024-10-10 23:16:57

3-1 官方文档整理-视图层-WXML文件的相关文章

Es官方文档整理-2.分片内部原理

Es官方文档整理-2.分片内部原理 1.集群 一个运行的Elasticsearch实例被称为一个节点,而集群是有一个或多个拥有相同claster.name配置的节点组成,他们共同承担数据和负载压力,当有节点加入或从集群中移除的时候,集群或自动平局分布所有数据. 当一个节点被选举成为主节点时,他哈不负责额管理集群范围内的所有变更,例如增加.删除索引,或者增加.删除节点等.而主节点不涉及文档级别的变更和搜索操作,所以集群只有一个主节点,即使流量增加,他也不会成为瓶颈.任何节点都可以成为主节点. 3.

3-2 官方文档整理-视图层-WXSS

[参考内容]:可参考W3C School 中CSS部分:链接地址: http://www.w3school.com.cn/h.asp [作用] WXSS(WeiXin Style Sheets)是一套样式语言,用于描述 WXML 的组件样式 WXSS 用来决定 WXML 的组件应该怎么显示. [尺寸单位] rpx(responsive pixel): 可以根据屏幕宽度进行自适应.规定屏幕宽为750rpx.如在 iPhone6 上,屏幕宽度为375px,共有750个物理像素,则750rpx = 3

Django官方文档之Model层

一.模型继承 1.抽象基类继承: 抽象基类: 抽象基类主要是作为一个信息集合,用在许多模型拥有共同信息的场合,本质上只是一个存储信息的容器,数据库中不创建表结构,不能单独使用,子类通过继承来获得父                 亲基类的字段和元类型数据,通过设置Meta类的abstract=True属性来声明为抽象基类,否则,不会自动变为抽象基类,现举例如下: 1 from django.db import models 2 3 class CommonInfo(models.Model):

使用oracle10g官方文档找到监听文件(listener.ora)的模板

***********************************************声明***********************************************************************  原创作品,出自 "深蓝的blog" 博客,欢迎转载,转载时请务必注明出处,否则追究版权法律责任. 深蓝的blog:http://blog.csdn.net/huangyanlong/article/details/39780739 *******

微信小程序官方文档错误整理

大致看了一遍微信小程序文档,发现有几处微小的错误,但瑕不掩瑜.记录下,以后发现了还会继续在此添加.如果有记录不对的,请及时指出错误. 1.视图层->WXSS->尺寸单位 明显错误,应该为 1px=2.34rpx 2.视图层->WXML->引用->include描述 有错别字 3.视图层->WXML->事件->事件绑定 "点击 inner view 会先后触发handleTap1和handleTap2",个人感觉应该是先后触发handleT

Spring 4 官方文档学习(十一)Web MVC 框架之resolving views 解析视图

接前面的Spring 4 官方文档学习(十一)Web MVC 框架,那篇太长,故另起一篇. 针对web应用的所有的MVC框架,都会提供一种呈现views的方式.Spring提供了view resolvers,可以让你在浏览器中render model,而不必绑定到某种特定的view技术上.开箱即用,例如,Spring可以让你使用JSPs.Velocity目标和XSLT views.See Chapter 23, View technologies for a discussion of how

hbase官方文档(转)

Apache HBase™ 参考指南  HBase 官方文档中文版 Copyright © 2012 Apache Software Foundation.保留所有权利. Apache Hadoop, Hadoop, MapReduce, HDFS, Zookeeper, HBase 及 HBase项目 logo 是Apache Software Foundation的商标. Revision History Revision 0.95-SNAPSHOT 2012-12-03T13:38 中文版

一起学微软Power BI系列-官方文档-入门指南(3)Power BI建模

我们前2篇文章:一起学微软Power BI系列-官方文档-入门指南(1)Power BI初步介绍 和一起学微软Power BI系列-官方文档-入门指南(2)获取源数据 中,我们介绍了官方入门文档与获取数据等基本知识.今天继续给大家介绍官方文档中,最核定的一个步骤,建模,不管是在Power BI还是在Tableau中,建模都是一个必不可少的步骤,包括传统的Power Privot中,也需要建模这个过程.建模的过程是一个不断演变和需要不断总结经验的过程,和我们传统的关系类型数据库设计有一些类似. 本

Android 线性布局(LinearLayout)相关官方文档 - 参考部分

太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. Android 官方文档线性布局相关资源链接汇总如下: android-sdk-macosx-4.4.2/docs/guide/topics/ui