样式-微信小程序

一个控件引用多个css样式,样式中间用空格分开
//wxml
<view class="page-section page-section-spacing">
 
 
//wxss
@import "./weui.wxss";
.page-section{
width: 100%;
margin-bottom: 60rpx;
}
.page-section-spacing{
box-sizing: border-box;
padding: 0 80rpx;
}
 
 view组件是最常用的视图容器。它是一个块级容器组件,主要用于布局展示,是布局中最基本的UI组件。所有复杂的布局都可以通过嵌套view来实现.
 rpx(responsive pixel): 可以根据屏幕宽度进行自适应。
使用 @import语句可以导入外联样式表, @import后跟需要导入的外联样式表的相对路径,用 ;表示语句结束。
 

内联样式

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

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

 //js

data: {
background: ['demo-text-1', 'demo-text-2', 'demo-text-3'],  //background 数组存放着3个样式名
indicatorDots: true,
vertical: false,
autoplay: false,
circular: false,
interval: 2000,
duration: 500,
previousMargin: 0,
nextMargin: 0
}
.demo-text-1:before{
content: 'A';
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}

 

.demo-text-2:before{
content: 'B';
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}

 

.demo-text-3:before{
content: 'C';
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
 
 
.swiper-item{
display: block;
height: 150px;
}

******************************

 

******************************

<swiper
indicator-dots="{{indicatorDots}}" autoplay="{{autoplay}}" circular="{{circular}}" vertical="{{vertical}}"
interval="{{interval}}" duration="{{duration}}" previous-margin="{{previousMargin}}px" next-margin="{{nextMargin}}px">
<block wx:for="{{ background}}" wx:key=" *this">
<swiper-item>
<view class="swiper-item {{item}}"></view>  注:view 引用了两个样式,一个是固定的swiper-item,另一个来自于数组background的样式名
</swiper-item>
</block>
</swiper>
 
通过 {{ }} 的语法把一个变量绑定到界面上,我们称为数据绑定。仅仅通过数据绑定还不够完整的描述状态和界面的关系,还需要  if/ elsefor等控制能力,在小程序里边,这些控制能力都用  wx: 开头的属性来表达。
在组件上使用  wx:for 控制属性绑定一个数组,即可使用数组中各项的数据重复渲染该组件。 默认数组的当前项的下标变量名默认为 index,数组当前项的变量名默认为 item

使用 wx:for-item 可以指定数组当前元素的变量名,

使用 wx:for-index 可以指定数组当前下标的变量名:

<view wx:for="{{array}}">
{{ index}}: {{ item.age}}
</view>
 
array: [{age: 10},{age:30},{age:21}]
 

block wx:for

类似 block wx:if,也可以将 wx:for 用在<block/>标签上,以渲染一个包含多节点的结构块。

<block wx:for="{{[1, 2, 3]}}"> <view> {{index}}: </view> <view> {{item}} </view> </block>
 

 

wx:key

如果列表中项目的位置会动态改变或者有新的项目添加到列表中,并且希望列表中的项目保持自己的特征和状态(如 input 中的输入内容,switch 的选中状态),需要使用 wx:key 来指定列表中项目的唯一的标识符。

wx:key 的值以两种形式提供

  1. 字符串,代表在 for 循环的 array 中 item 的某个 property,该 property 的值需要是列表中唯一的字符串或数字,且不能动态改变。
  2. 保留关键字 *this 代表在 for 循环中的 item 本身,这种表示需要 item 本身是一个唯一的字符串或者数字。

当数据改变触发渲染层重新渲染的时候,会校正带有 key 的组件,框架会确保他们被重新排序,而不是重新创建,以确保使组件保持自身的状态,并且提高列表渲染时的效率。

如不提供 wx:key,会报一个 warning, 如果明确知道该列表是静态,或者不必关注其顺序,可以选择忽略。

猜你喜欢

转载自www.cnblogs.com/playforever/p/12523217.html