微信小程序教程系列之视图层的条件渲染(10)

本教程为大家分享了使用wx:if进行视图层的条件渲染,供大家参考,具体内容如下

使用wx:if进行视图层的条件渲染

示例:

wxml:使用view

<!--index.wxml-->
<button bindtap="EventHandle">按钮</button>
<!-- wx:if -->
<view wx:if="{{boolean==true}}">
  <view class="bg_black"></view>

</view>
<view wx:elif="{{boolean==false}}">
  <view class="bg_red"></view>
</view>

wxss:

/**index.wxss**/
.bg_black {
 height: 200rpx;
 background: lightskyblue;
}
.bg_red {
 height: 200rpx;
 background: lightpink;

}

js:

// index.js

Page({
 data: {
  boolean:false
 },
 EventHandle: function(){
  var bol = this.data.boolean;
  this.setData({
   boolean: !bol

  })

 }

})

运行:

续上:

把上面标注绿色部分的view改成block

wxml:使用block

<!--index.wxml-->
<button bindtap="EventHandle">按钮</button>
<!-- wx:if -->
<block wx:if="{{boolean==true}}">
  <view class="bg_black"></view>
</block>
<block wx:elif="{{boolean==false}}">
  <view class="bg_red"></view>

</block>

运行:

续上:

增加一个wx:for做列表渲染

wxml:

<!--index.wxml-->
<button bindtap="EventHandle">按钮</button>
<!-- wx:if -->
<block wx:if="{{boolean==true}}" wx:for="{{arr}}">
  <view class="bg_black">内容:{{item}}</view>
</block>
<block wx:elif="{{boolean==false}}">
  <view class="bg_red">无内容</view>

</block>

index.js:

// index.js
Page({
 data: {
  boolean:false,
  arr: [1,2,3]
 },

 EventHandle: function(){

  var bol = this.data.boolean;

  this.setData({

   boolean: !bol

  })

 }

})

运行:

编辑错误。

原因是wx:if不能与wx:for共用在一个组件上!

续上:

wx:if和wx:for必须分开使用

wxml:

<!--index.wxml-->
<button bindtap="EventHandle">按钮</button>
<!-- wx:if -->
<block wx:if="{{boolean==true}}">
  <block wx:for="{{arr}}">
    <view class="bg_black">内容:{{item}}</view>

  </block>
</block>
<block wx:elif="{{boolean==false}}">
  <view class="bg_red">无内容</view>

</block>

wxss:

/**index.wxss**/
.bg_black {
 height: 200rpx;
 background: lightskyblue;
}
.bg_red {
 height: 200rpx;

 background: lightpink;

}

index.js:

// index.js
Page({
 data: {
  boolean:false,
  arr: [1,2,3]
 },
 EventHandle: function(){
  var bol = this.data.boolean;

  this.setData({
   boolean: !bol

  })

 }

})

运行:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • 微信小程序 条件渲染详解

    1,wx.if 在微信小程序中,小程序是使用wx.if="{{条件}}"来判断是否渲染该代码块,用法如下: <view wx.if="{{条件}}">True</view> 也可以用wx.elif和wx.else来添加一个else块,事例如下: <view wx:if="{{a>1}}"> 1 </view> <view wx:elif="{{a>2}}">

  • 微信小程序 教程之条件渲染

    系列文章: 微信小程序 教程之WXSS 微信小程序 教程之引用 微信小程序 教程之事件 微信小程序 教程之模板 微信小程序 教程之列表渲染 微信小程序 教程之条件渲染 微信小程序 教程之数据绑定 微信小程序 教程之WXML wx:if 在MINA中,我们用wx:if="{{condition}}"来判断是否需要渲染该代码块: <view wx:if="{{condition}}"> True </view> 也可以用wx:elif和wx:el

  • 微信小程序教程系列之视图层的条件渲染(10)

    本教程为大家分享了使用wx:if进行视图层的条件渲染,供大家参考,具体内容如下 使用wx:if进行视图层的条件渲染 示例: wxml:使用view <!--index.wxml--> <button bindtap="EventHandle">按钮</button> <!-- wx:if --> <view wx:if="{{boolean==true}}"> <view class="bg

  • 微信小程序教程系列之页面跳转和参数传递(6)

    关于页面的跳转,微信小程序提供了3种方法: 方法一: 使用API  wx.navigateTo()函数 示例: 首先先新建一个test页面 如何新建页面? 请到先阅读下面教程 微信小程序的新建页面 -- 微信小程序教程系列(4) index.wxml: 在index.wxml新建一个button组件,并使用bindtap事件绑定一个函数 index.js: 在index.js中的Page函数内部,添加changeToTest 函数,函数里面使用wx.navigateTo,写上需要跳转的页面,里面

  • 微信小程序教程系列之新建页面(4)

    例如在web的开发中,新建一个页面只需要新建一个html文件即可. 但是到在微信小程序中,新建一个页面也不只是新建一个wxml文件,那么该如何做呢?下面我们一起来学习 新建一个页面的步骤: 1> 必须要创建一个wxml文件和一个js文件,并且文件名要同名(例:test.wxml 和 test.js). 2> js文件内,需要写上注册页面的Page()函数! 3> 并且要到app.json文件中,注册新建页面的路径信息. 示例: 新建了一个test.js文件和一个test.wxml文件,

  • 微信小程序教程系列之设置标题栏和导航栏(7)

    微信小程序标题栏和导航栏的设置方法,具体内容如下 设置标题栏 标题栏window 在app.json文件里面,通过window对象里面的属性进行设置 示例: app.json: 运行: 设置导航栏 导航栏TabBar 如果我们的小程序是一个多 tab 应用(客户端窗口的底部或顶部有 tab 栏可以切换页面),那么我们可以通过 tabBar 配置项指定 tab 栏的表现,以及 tab 切换时显示的对应页面. Tip: 通过页面跳转(wx.navigateTo)或者页面重定向(wx.redirect

  • 微信小程序教程系列之设置标题栏和导航栏(7)

    微信小程序标题栏和导航栏的设置方法,具体内容如下 设置标题栏 标题栏window 在app.json文件里面,通过window对象里面的属性进行设置 示例:app.json: 运行: 设置导航栏 导航栏TabBar 如果我们的小程序是一个多 tab 应用(客户端窗口的底部或顶部有 tab 栏可以切换页面),那么我们可以通过 tabBar 配置项指定 tab 栏的表现,以及 tab 切换时显示的对应页面. Tip: 通过页面跳转(wx.navigateTo)或者页面重定向(wx.redirectT

  • 微信小程序 教程之事件

    系列文章: 微信小程序 教程之WXSS 微信小程序 教程之引用 微信小程序 教程之事件 微信小程序 教程之模板 微信小程序 教程之列表渲染 微信小程序 教程之条件渲染 微信小程序 教程之数据绑定 微信小程序 教程之WXML 什么是事件 事件是视图层到逻辑层的通讯方式. 事件可以将用户的行为反馈到逻辑层进行处理. 事件可以绑定在组件上,当达到触发事件,就会执行逻辑层中对应的事件处理函数. 事件对象可以携带额外信息,如id, dataset, touches. 事件的使用方式 在组件中绑定一个事件处

  • 微信小程序 教程之注册页面

    系列文章: 微信小程序 教程之模块化 微信小程序 教程之注册页面 微信小程序 教程之注册程序 微信小程序--Page Page()函数用来注册一个页面.接受一个object参数,其指定页面的初始数据.生命周期函数.事件处理函数等. object参数说明: 属性 类型 描述 data Object 页面的初始数据 onLoad Function 生命周期函数--监听页面加载 onReady Function 生命周期函数--监听页面渲染完成 onShow Function 生命周期函数--监听页面

  • 微信小程序 教程之引用

    系列文章: 微信小程序 教程之WXSS 微信小程序 教程之引用 微信小程序 教程之事件 微信小程序 教程之模板 微信小程序 教程之列表渲染 微信小程序 教程之条件渲染 微信小程序 教程之数据绑定 微信小程序 教程之WXML 引用 WXML提供两种文件引用方式import和include. import import可以在该文件中使用目标文件定义的template,如: 在item.wxml中定义了一个叫item的template: <!-- item.wxml --> <template

  • 微信小程序 教程之注册程序

    系列文章: 微信小程序 教程之模块化 微信小程序 教程之注册页面 微信小程序 教程之注册程序 App() App()函数用来注册一个小程序.接受一个object参数,其指定小程序的生命周期函数等. object参数说明: 属性 类型 描述 触发时机 onLaunch Function 生命周期函数--监听小程序初始化 当小程序初始化完成时,会触发onLaunch(全局只触发一次) onShow Function 生命周期函数--监听小程序显示 当小程序启动,或从后台进入前台显示,会触发onSho

  • 微信小程序 教程之列表渲染

    系列文章: 微信小程序 教程之WXSS 微信小程序 教程之引用 微信小程序 教程之事件 微信小程序 教程之模板 微信小程序 教程之列表渲染 微信小程序 教程之条件渲染 微信小程序 教程之数据绑定 微信小程序 教程之WXML wx:for 在组件上使用wx:for控制属性绑定一个数组,即可使用数组中各项的数据重复渲染该组件. 默认数组的当前项的下标变量名默认为index,数组当前项的变量名默认为item <view wx:for="{{items}}"> {{index}}:

随机推荐