微信小程序从入门到入土教程(03)


一、小程序事件的绑定

⼩程序中绑定事件,通过bind关键字来实现。如 bindtap bindinput bindchange 等 不同的组件⽀持不同的事件,具体看组件的说明即可。

1. wxml

<input bindinput="handleInput" />

2. page

Page({
    
    
  // 绑定的事件
  handleInput: function(e) {
    
    
    console.log(e);
    console.log("值被改变了");
 }
})

3. 特别注意

(1). 绑定事件时不能带参数 不能带括号 以下为错误写法

<input bindinput="handleInput(100)" />

(2). 事件传值 通过标签⾃定义属性的⽅式 和 value

<input bindinput="handleInput" data-item="100" />

(3). 事件触发时获取数据

 handleInput: function(e) {
    
    
    // {item:100}
   console.log(e.currentTarget.dataset)
      
    // 输入框的值
   console.log(e.detail.value);
 }

二、样式 WXSS

WXSS( WeiXin Style Sheets )是⼀套样式语⾔,⽤于描述 WXML 的组件样式。 与 CSS 相⽐,WXSS 扩展的特性有:

  • 响应式⻓度单位 rpx
  • 样式导⼊

1. 尺寸单位

rpx (responsive pixel): 可以根据屏幕宽度进⾏⾃适应。规定屏幕宽为 750rpx 。如在iPhone6 上,屏幕宽度为 375px ,共有750个物理像素,则 750rpx = 375px = 750物理像素 , 1rpx = 0.5px = 1物理像素 。

设备 rpx换算px (屏幕宽度/750) px换算rpx (750/屏幕宽度)
iPhone5 1rpx = 0.42px 1px = 2.34rpx
iPhone6 1rpx = 0.5px 1px = 2rpx
iPhone6 Plus 1rpx = 0.552px 1px = 1.81rpx

建议: 开发微信⼩程序时设计师可以⽤ iPhone6 作为视觉稿的标准。
使⽤步骤: 1. 确定设计稿宽度 pageWidth 2. 计算⽐例 750rpx = pageWidth px ,因此 1px=750rpx/pageWidth 。 3. 在less⽂件中,只要把设计稿中的 px => 750/pageWidth rpx 即可。

2. 样式导⼊

wxss中直接就⽀持,样式导⼊功能。 也可以和 less中的导⼊混⽤。 使⽤ @import 语句可以导⼊外联样式表,只⽀持相对路径。 ⽰例代码:

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

3. 选择器

特别需要注意的是 ⼩程序 不⽀持通配符 * 因此以下代码⽆效!

*{
    
    
    margin:0;
    padding:0;
    box-sizing:border-box; 
}

⽬前⽀持的选择器有:

选择器 样例 样例描述
.class .intro 选择所有拥有 class=“intro” 的组件
#id #firstname 选择拥有 id=“firstname” 的组件
element view 选择所有 view 组件
element, element view,checkbox 选择所有⽂档的 view 组件和所有的 checkbox 组 件
nth-child(n) view:nth-child(n) 选择某个索引的标签
::after view::after 在 view 组件后边插⼊内容
::after view::before 在 view 组件前边插⼊内容

4. 小程序中使用less

原⽣⼩程序不⽀持 less ,其他基于⼩程序的框架⼤体都⽀持,如 wepy , mpvue , taro 等。 但是仅仅因为⼀个less功能,⽽去引⼊⼀个框架,肯定是不可取的。因此可以⽤以下⽅式来实现
(1). 编辑器是 vscode
(2). 安装插件 easy less在这里插入图片描述
(3). 在vs code的设置中加⼊如下,配置
在这里插入图片描述
(4). 在要编写样式的地⽅,新建 less ⽂件,如 index.less ,然后正常编辑即可。


未完待续…

猜你喜欢

转载自blog.csdn.net/qq_44273429/article/details/108189459