【小程序】渲染与引用

主要是巩固一波,基础之前讲的都差不多了

  1. if语句

判断成绩是否及格,js中用if🉑,wxml中用wx:if=🉑

const app=getApp()

Page({

  /**
   * 页面的初始数据
   */
  data: {
    answer:"否",
  },
  countgrade:function(e){
    var num=e.detail.value;
    if(num>100 || num<0){
      this.setData({
        answer:"成绩有误",
      })
    }
    else if(num>=60){
      this.setData({
        answer:"是",
      })
    }
    else{
      this.setData({
        answer:"否",
      })
    }

  }

})
  1. for语句

wx:for={{一个数组}},就相当于for item in 这个数组,执行模块中的代码,如果在模块中需要引用数组当前遍历到的元素,则{{item}},如果要引用数组当前遍历的下标,则{{index}}

<view class="box">
  <view>
    <view>
      绑定数组渲染
    </view>
    <view wx:for="{{arry}}">
      arry{{index}}:{{item}}
    </view>
  </view>
  <view>
    <view>
      直接数组渲染
    </view>
    <view wx:for="{{['Spring','Summer','Fall','Winter']}}">
      arry{{index}}:{{item}}
    </view>
  </view>
  <view>
    <view>
      对象渲染
    </view>
    <view wx:for="{{object}}">
      {{index}}:{{item}}
    </view>
  </view>
  <view>
    <view>
      字符串渲染
    </view>
    <view wx:for="Wang" wx:for-index='i' wx:for-item='t'>
      arry[{{i}}]:{{t}}
    </view>
  </view>
  <view>
    
  </view>
</view>

3. 循环嵌套——九九乘法表

双重循环,索引都叫{{index}},元素都叫{{item}},不方便使用,所以给其重新命名,wx:for-key={{"i"}}给索引命名,wx:for-item={{"j"}}给数组中的值命名。

想要一个大段落不同小段落中的显示在一行,在wxss中有display:inline-block,大段落中的东西就都在同一行了。

<view class="p">
  <view wx:for="{{nums}}" wx:for-item="i">
    <view wx:for="{{nums}}" wx:for-item="j" class="inline">
      <view wx:if="{{i>=j}}">
        {{i}}x{{j}}={{i*j}}
      </view>
    </view>
  </view>
</view>
.inline{
  display:inline-block;
  margin: 10rpx;
}
.p{
  font-size: 20rpx;
}

4. template模版使用

这就相当于映射函数,可以在同一个xml文件中写也可以单开一个写,单开一个需要import文件名。

这是主文件

<view class="box">
  <import src="template.wxml"/>
  <view >
    <template is="student" data="{{...st01}}"/>
  </view>
  <view >
    <template is="student" data="{{...st02}}"/>
  </view>
  <view>
    <template is="student" data="{{s_name:'Zhang',s_age:19,s_gender:'M'}}"/>
  </view>
</view>

这是模版文件

<template name="student" >
  <view class="inline">
  <view>
    name:{{s_name}} 
  </view>
  <view>
    age:{{s_age}} 
  </view>
  <view>
    gender:{{s_gender}} 
  </view>
</view>
</template>
const app=getApp()

Page({

  /**
   * 页面的初始数据
   */
  data: {
    st01:{
      s_name:"Wang",
      s_age:14,
      s_gender:"M",
    },
    st02:{
      s_name:"Song",
      s_age:17,
      s_gender:"W",
    }
  },
  
})
.inline{
  display:inline-flex;
  margin: 10rpx;
}

另外试了一下inline-block和inline,很奇怪,给你们看下inline-block的效果

再看下inline的效果

尊滴很奇怪,可能因为是在主xml文件中用的,没有在templates中用?

然后我把inline放到了app.css即全局定义中,结果还是图二的样子

后来我又试了试,如果把inline-block/inline改成inline-flex:

哎,成了!

在往后做的过程中突然想起flex,flex-direction:row应该也是这个效果,再考虑如何均分空间

justify-content: space-evenly;

就获得了如下效果

所以这是修改后的inline函数

.inline{
  display: flex;
  flex-direction: row;
  margin: 10rpx;
  justify-content: space-evenly;
}

5. include使用

如果说templates像是自己写了一个函数,include就相当于自己写了一个完整模块,可以将一个页面分开来写,然后合起来展示。

语法长这样

<include src="wx1.wxml"/>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
微信小程序开发中,渲染层网络层错误通常在图片无法加载时出现。在您描述的情况中,该错误可能是由于异步请求的延迟导致的。当小程序开始加载页面时,异步请求还没有完成,导致image标签中的src属性值为空,进而触发渲染层、网络层错误。 为解决这个问题,您可以尝试以下方法: 1. 确保网络连接稳定,以确保异步请求能够顺利完成。 2. 检查图片链接的正确性,确保图片地址正确,且图片服务器能够正常访问。 3. 使用wx:if或wx:else语句,判断图片加载状态,当图片加载完成后再显示,避免空值触发错误。 4. 使用wx.getImageInfo()方法来获取图片信息,确保图片能够正确加载后再进行渲染。 5. 如果您使用的是外部链接加载图片,请确保图片链接使用https协议,并将域名添加到小程序的request合法域名列表中。 通过以上方法,您可以尝试解决微信小程序开发中渲染层网络层错误的问题。希望对您有帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [微信小程序渲染层网络层错误】解决方法](https://blog.csdn.net/qq_55349196/article/details/129190209)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [微信小程序渲染层网络层错误」的解决方法](https://blog.csdn.net/weixin_41767802/article/details/110812911)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值