当前位置:首页 > 技术分析 > 正文内容

微信小程序开发极简入门(二):样式,页面,数据

ruisui8816小时前技术分析3

前文:

微信小程序开发极简入门(一)

样式

wxss:

/**放在页面的wxss**/
.scrollarea {
  flex: 1;
  overflow-y: hidden;
}
.idx_view {
  height: 200rpx;
  background-color: burlywood;
  margin: 20rpx 20rpx 20rpx 20rpx;
}
/**放在app.wxss**/
view {
  background-color: cadetblue;
}
view text{
  color: red;
}

样式没什么好讲的,就是css。

放在app.wxss就是全局样式。

.样式名:只有用class引用才生效。例如.idx_view{...},只有class="idx_view"才起作用。

组件名:直接起作用。例如 view{...},所有view组件都是这个样式。

组件的style属性会覆盖样式。

wxml:

<navigation-bar title="首页" back="{{false}}"></navigation-bar>
<scroll-view class="scroll-view" scroll-y type="list">
  <view>
    <label>页面名称:</label><text style="color: orangered;">看字体颜色</text>
  </view>
</scroll-view>

页面展示JS的Data

wxml:

<!--index.wxml-->
<navigation-bar title="首页" back="{{false}}"></navigation-bar>
<scroll-view class="scroll-view" scroll-y type="list">
  <view class="idx_view">
    <label>页面名称:</label><text style="color: orangered;">{{idxName}}</text>
  </view>
</scroll-view>

js:

Page({
  data: {
    idxName: "首页"
  }
})

注意:如果wxml组件的属性是boolean,例如checked="true",合法。但假值必须写成checked="{{false}}"。


页面修改JS的Data

<navigation-bar title="首页" back="{{false}}"></navigation-bar>
<scroll-view class="scrollarea" scroll-y type="list">
  <label>页面名称:</label><text >{{idxName}}</text>
  <button bind:tap="showMPName" type="primary" >展示小程序名称</button>
</scroll-view>


Page({
  showMPName() {
    const app = getApp();
    wx.showToast({
      title: app.globalData.mpName,
    })
    this.setData({
      idxName: app.globalData.mpName
    })
  },
  data: {
    idxName: "首页"
  }
})

改数据,并且页面同步改,只能通过this.setData({key:value})的方式。

this.data.key=value不行。


双向绑定

前面说的是单向绑定(数据可以影响页面),有时候我们还需要页面的更新能影响到数据&页面。例如:

input输入的内容展示在某个view中,同意协议的多选框勾选后,提交按钮变可用等。

做法有如下:

inputVal(e) {
    console.log(e)
    this.setData({
      bindVal: e.detail.value
    })
  },
  data: {
    idxName: "首页",
    bindVal: "初始内容",
    twBindVal: "",
    ifAgree: false
  }
<view class="idx_view">
    <label>双向绑定内容A:</label><text>{{bindVal}}</text>
    <input type="text" placeholder="请输入内容" catch:input="inputVal" />
  </view>
  <view class="idx_view">
    <label>双向绑定内容B:</label><text>{{twBindVal}}</text>
    <input type="text" placeholder="请输入内容" model:value="{{twBindVal}}" />
  </view>
  <view class="idx_view">
    <checkbox id="ifAgreeCheckBox" model:checked="{{ifAgree}}" /><label for="ifAgreeCheckBox">是否同意</label>
    <button id="submitData" type="primary" disabled="{{!ifAgree}}">提交</button>
  </view>

注意:<label>的for,绑定对应的组件(目前支持button、checkbox、radio、switch、input),代表点击此label时等同点击绑定的组件

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/3773.html

分享给朋友:

“微信小程序开发极简入门(二):样式,页面,数据” 的相关文章

深度解析!AI智能体在To B领域应用,汽车售后服务落地全攻略

在汽车售后服务领域,AI智能体的应用正带来一场效率和专业度的革命。本文深度解析了一个AI智能体在To B领域的实际应用案例,介绍了AI智能体如何通过提升服务顾问和维修技师的专业度及维修效率,优化汽车售后服务流程。上周我分享了AI智能体+AI小程序To C的AI应用场景《1000%增长!我仅用一个小时...

2024年,不断突破的一年

迈凯伦F1车队不久前拿下了2024年度总冠军,距离上一次还是二十几年前。在此期间,另一领域内,一个充满革新活力的腕表品牌——RICHARD MILLE理查米尔,正不断发展,与F1运动、帆船、古董车展等领域,共享着对速度与极限的无尽向往。RICHARD MILLE的发展与F1车手们在赛道上的卓越表现交...

学前端,这30个CSS选择器,你必须熟记

你学会了基本的id,class类选择器和descendant后代选择器,然后就觉得完事了吗?如果这样,你就会错过许多灵活运用CSS的机会。虽然本文提到的许多选择器都属于CSS3,并且只能在现代的浏览器中使用,但学会这些是大有好处的。什么是CSS选择器呢?每一条css样式定义由两部分组成,形式如下:[...

js中数组filter方法的使用和实现

定义filter() 方法创建一个新数组, 其包含通过所提供函数实现的测试的所有元素。语法var newArray = arr.filter(callback(element[, index[, selfArr]])[, thisArg])参数callback循环数组每个元素时调用的回调函数。回调函...

VUE3+JAVA商城源码小程序APP商城

三勾小程序商城基于springboot+element-ui+uniapp打造的面向开发的小程序商城,方便二次开发或直接使用,可发布到多端,包括微信小程序、微信公众号、QQ小程序、支付宝小程序、字节跳动小程序、百度小程序、android端、ios端。软件架构后端: springboot2.3.12管...

三勾知识付费(PHP+vue3)微信小程序平台+SAAS+前后端源码

项目介绍三勾小程序商城基于thinkphp8+element-plus+uniapp打造的面向开发的小程序商城,方便二次开发或直接使用,可发布到多端,包括微信小程序、微信公众号、QQ小程序、支付宝小程序、字节跳动小程序、百度小程序、android端、ios端。软件架构后端:thinkphp8 管理端...