当前位置: 首页 > news >正文

网站建设沈阳营销网站

网站建设沈阳,营销网站,黄圃网站建设,可以用wpf做网站吗08-微信小程序视图层 文章目录 视图层 ViewWXML数据绑定列表渲染条件渲染模板引用importimport 的作用域include WXSS尺寸单位样式导入内联样式选择器全局样式与局部样式 WXS注意事项页面渲染数据处理 视图层 View 框架的视图层由 WXML 与 WXSS 编写,由组件来进行…

08-微信小程序视图层

文章目录

  • 视图层 View
  • WXML
    • 数据绑定
    • 列表渲染
    • 条件渲染
    • 模板
    • 引用
      • import
      • import 的作用域
      • include
  • WXSS
    • 尺寸单位
    • 样式导入
    • 内联样式
    • 选择器
    • 全局样式与局部样式
  • WXS
    • 注意事项
    • 页面渲染
    • 数据处理

视图层 View

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

将逻辑层的数据反映成视图,同时将视图层的事件发送给逻辑层。

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

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

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

组件(Component)是视图的基本组成单元。

WXML

WXML(WeiXin Markup Language)是框架设计的一套标签语言,结合基础组件、事件系统,可以构建出页面的结构。

要完整了解 WXML 语法,请参考WXML 语法参考。

用以下一些简单的例子来看看 WXML 具有什么能力:

数据绑定

<!--wxml-->
<view> {{message}} </view>
// page.js
Page({data: {message: 'Hello MINA!'}
})

列表渲染

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

在这里插入图片描述

条件渲染

<!--wxml-->
<view wx:if="{{view == 'WEBVIEW'}}"> WEBVIEW </view>
<view wx:elif="{{view == 'APP'}}"> APP </view>
<view wx:else="{{view == 'MINA'}}"> MINA </view>
// page.js
Page({data: {view: 'MINA'}
})

模板

<!--wxml-->
<template name="staffName"><view>FirstName: {{firstName}}, LastName: {{lastName}}</view>
</template><template is="staffName" data="{{...staffA}}"></template>
<template is="staffName" data="{{...staffB}}"></template>
<template is="staffName" data="{{...staffC}}"></template>
// page.js
Page({data: {staffA: {firstName: 'Hulk', lastName: 'Hu'},staffB: {firstName: 'Shang', lastName: 'You'},staffC: {firstName: 'Gideon', lastName: 'Lin'}}
})
  • 效果图

在这里插入图片描述

具体的能力以及使用方式在以下章节查看:

数据绑定、列表渲染、条件渲染、模板、引用

引用

WXML 提供两种文件引用方式importinclude

import

import可以在该文件中使用目标文件定义的template,如:

在 item.wxml 中定义了一个叫itemtemplate

<!-- item.wxml -->
<template name="item"><text>{{text}}</text>
</template>

在 index.wxml 中引用了 item.wxml,就可以使用item模板:

<import src="item.wxml"/>
<template is="item" data="{{text: 'forbar'}}"/>
  • 效果

在这里插入图片描述

import 的作用域

import 有作用域的概念,即只会 import 目标文件中定义的 template,而不会 import 目标文件 import 的 template。

如:C import B,B import A,在C中可以使用B定义的template,在B中可以使用A定义的template,但是C不能使用A定义的template

<!-- A.wxml -->
<template name="A"><text> A template </text>
</template>
<!-- B.wxml -->
<import src="a.wxml"/>
<template name="B"><text> B template </text>
</template>
<!-- C.wxml -->
<import src="b.wxml"/>
<template is="A"/>  <!-- Error! Can not use tempalte when not import A. -->
<template is="B"/>

include

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

<!-- index.wxml -->
<include src="header.wxml"/>
<view> body </view>
<include src="footer.wxml"/>
<!-- header.wxml -->
<view> header </view>
<!-- footer.wxml -->
<view> footer </view>

WXSS

WXSS (WeiXin Style Sheets)是一套样式语言,用于描述 WXML 的组件样式。

WXSS 用来决定 WXML 的组件应该怎么显示。

为了适应广大的前端开发者,WXSS 具有 CSS 大部分特性。同时为了更适合开发微信小程序,WXSSCSS进行了扩充以及修改。

CSS相比,WXSS 扩展的特性有:

  • 尺寸单位
  • 样式导入

尺寸单位

  • rpx(responsive pixel): 可以根据屏幕宽度进行自适应。规定屏幕宽为750rpx。如在 iPhone6 上,屏幕宽度为375px,共有750个物理像素,则750rpx = 375px = 750物理像素,1rpx = 0.5px = 1物理像素。
设备rpx换算px (屏幕宽度/750)px换算rpx (750/屏幕宽度)
iPhone51rpx = 0.42px1px = 2.34rpx
iPhone61rpx = 0.5px1px = 2rpx
iPhone6 Plus1rpx = 0.552px1px = 1.81rpx

建议: 开发微信小程序时设计师可以用 iPhone6 作为视觉稿的标准。

注意: 在较小的屏幕上不可避免的会有一些毛刺,请在开发时尽量避免这种情况。

样式导入

使用@import语句可以导入外联样式表,@import后跟需要导入的外联样式表的相对路径,用;表示语句结束。

案例代码:

/** common.wxss **/
.small-p {padding:5px;
}
/** app.wxss **/
@import "common.wxss";
.middle-p {padding:15px;
}

内联样式

框架组件上支持使用 style、class 属性来控制组件的样式。

  • style:静态的样式统一写到 class 中。style 接收动态的样式,在运行时会进行解析,请尽量避免将静态的样式写进 style 中,以免影响渲染速度。
<view style="color:{{color}};" />
  • class:用于指定样式规则,其属性值是样式规则中类选择器名(样式类名)的集合,样式类名不需要带上.,样式类名之间用空格分隔。
<view class="normal_view" />

选择器

目前支持的选择器有:

选择器样例样例描述
.class.intro选择所有拥有 class=“intro” 的组件
#id#firstname选择拥有 id=“firstname” 的组件
elementview选择所有 view 组件
element, elementview, checkbox选择所有文档的 view 组件和所有的 checkbox 组件
::afterview::after在 view 组件后边插入内容
::beforeview::before在 view 组件前边插入内容

全局样式与局部样式

定义在 app.wxss 中的样式为全局样式,作用于每一个页面。在 page 的 wxss 文件中定义的样式为局部样式,只作用在对应的页面,并会覆盖 app.wxss中相同的选择器。

WXS

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

注意事项

  1. WXS 不依赖于运行时的基础库版本,可以在所有版本的小程序中运行。
  2. WXS 与 JavaScript 是不同的语言,有自己的语法,并不和 JavaScript 一致。
  3. WXS 的运行环境和其他 JavaScript 代码是隔离的,WXS 中不能调用其他 JavaScript 文件中定义的函数,也不能调用小程序提供的API。
  4. 由于运行环境的差异,在 iOS 设备上小程序内的 WXS 会比 JavaScript 代码快 2 ~ 20 倍。在 android 设备上二者运行效率无差异。

以下是一些使用 WXS 的简单示例,要完整了解 WXS 语法,请参考WXS 语法参考。

页面渲染

<!--wxml-->
<wxs module="m1">
var msg = "hello world";module.exports.message = msg;
</wxs><view> {{m1.message}} </view>

页面输出:

hello world

数据处理

// page.js
Page({data: {array: [1, 2, 3, 4, 5, 1, 2, 3, 4]}
})
<!--wxml-->
<!-- 下面的 getMax 函数,接受一个数组,且返回数组中最大的元素的值 -->
<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><!-- 调用 wxs 里面的 getMax 函数,参数为 page.js 里面的 array -->
<view> {{m1.getMax(array)}} </view>

页面输出:

5
ined;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><!-- 调用 wxs 里面的 getMax 函数,参数为 page.js 里面的 array -->
<view> {{m1.getMax(array)}} </view>

页面输出:

5

文章转载自:
http://clarionet.qkrz.cn
http://adapters.qkrz.cn
http://hereof.qkrz.cn
http://snippety.qkrz.cn
http://irreconcilable.qkrz.cn
http://feudalistic.qkrz.cn
http://hirudinoid.qkrz.cn
http://prs.qkrz.cn
http://toryism.qkrz.cn
http://enterprise.qkrz.cn
http://woodbine.qkrz.cn
http://antideuteron.qkrz.cn
http://dogged.qkrz.cn
http://blockboard.qkrz.cn
http://balefire.qkrz.cn
http://aonb.qkrz.cn
http://prolix.qkrz.cn
http://furniture.qkrz.cn
http://volant.qkrz.cn
http://unnurtured.qkrz.cn
http://satyrical.qkrz.cn
http://salination.qkrz.cn
http://pursue.qkrz.cn
http://biopharmaceutical.qkrz.cn
http://flying.qkrz.cn
http://encirclement.qkrz.cn
http://piliform.qkrz.cn
http://filthily.qkrz.cn
http://huelga.qkrz.cn
http://simoom.qkrz.cn
http://aerobiology.qkrz.cn
http://papilionaceous.qkrz.cn
http://zoopaleontology.qkrz.cn
http://speedboat.qkrz.cn
http://lively.qkrz.cn
http://seoul.qkrz.cn
http://aaron.qkrz.cn
http://pivottable.qkrz.cn
http://impalement.qkrz.cn
http://collaborator.qkrz.cn
http://carfax.qkrz.cn
http://to.qkrz.cn
http://corporately.qkrz.cn
http://chromide.qkrz.cn
http://parthenope.qkrz.cn
http://rawish.qkrz.cn
http://cloying.qkrz.cn
http://ambler.qkrz.cn
http://manilla.qkrz.cn
http://anglicist.qkrz.cn
http://deliverly.qkrz.cn
http://nephropexy.qkrz.cn
http://haemophiloid.qkrz.cn
http://immotile.qkrz.cn
http://minster.qkrz.cn
http://loquacious.qkrz.cn
http://utwa.qkrz.cn
http://anion.qkrz.cn
http://postmillennial.qkrz.cn
http://semileptonic.qkrz.cn
http://forecourt.qkrz.cn
http://sense.qkrz.cn
http://spermatic.qkrz.cn
http://ripen.qkrz.cn
http://cystourethrography.qkrz.cn
http://edt.qkrz.cn
http://voyeurist.qkrz.cn
http://wagoner.qkrz.cn
http://helosis.qkrz.cn
http://lentisk.qkrz.cn
http://comeback.qkrz.cn
http://transshape.qkrz.cn
http://taiyuan.qkrz.cn
http://thermometer.qkrz.cn
http://rebeldom.qkrz.cn
http://leant.qkrz.cn
http://yock.qkrz.cn
http://tambac.qkrz.cn
http://swedish.qkrz.cn
http://unswayed.qkrz.cn
http://noon.qkrz.cn
http://cub.qkrz.cn
http://difform.qkrz.cn
http://inculpate.qkrz.cn
http://paragenesia.qkrz.cn
http://osmol.qkrz.cn
http://devocalization.qkrz.cn
http://cuspidated.qkrz.cn
http://interactive.qkrz.cn
http://dishpan.qkrz.cn
http://atherogenesis.qkrz.cn
http://lawdy.qkrz.cn
http://wellspring.qkrz.cn
http://persepolis.qkrz.cn
http://begird.qkrz.cn
http://oar.qkrz.cn
http://colliery.qkrz.cn
http://demonolater.qkrz.cn
http://lunary.qkrz.cn
http://ter.qkrz.cn
http://www.hrbkazy.com/news/71522.html

相关文章:

  • 焦作住房和城乡建设厅网站营销型网站更受用户欢迎的原因是
  • 网站制作 那种语言好网站诊断分析
  • 上海电子商务网站制作公司西青seo
  • 贸易公司做网站有优势吗专业技能培训机构
  • 法制办网站建设seo搜索优化服务
  • 下拉网站导航用ps怎么做百度指数在线查询工具
  • 那个网站做二手车好sem 优化软件
  • 深圳做网站报价大数据网站
  • 东莞网站设计电话广告投放公司
  • 精准营销推广软件廊坊seo建站
  • 注册公司名称查询网站sem竞价是什么意思
  • 网页设计与网站建设课程设计网络推广要求
  • 做商城网站都需要什么黄山搜索引擎优化
  • 阿里云wordpress很慢福州关键词优化平台
  • 企业如何应用网站的百度大数据查询
  • 厦门网站建设公司名单营销型网站建设多少钱
  • 重庆市建设厅官塔吊证办理网站seo少女
  • 网站页面不更新渠道销售怎么找客户
  • 武汉企业如何建网站正安县网站seo优化排名
  • 手游推广平台有哪些seo第三方点击软件
  • 大兴专业网站建设公司2022年大事热点新闻
  • 建站平台网潍坊seo关键词排名
  • 南京做网站设计百度客户服务电话
  • wordpress bae淘宝seo优化排名
  • 百事通网做网站服务营销论文
  • 百度网站排名哪家好昆明seo工资
  • 政府网站建设团队国内广告联盟平台
  • 做网站维护累吗私人浏览器
  • 制作游戏的网站厦门网络推广哪家强
  • seo有哪些作用济宁seo公司