wx

146 阅读1分钟

1. for 循环

for循环实现页面文字内容渲染,并绑定点击事件,点击后文字变色。

<!-- wxml页-->
<!-- wx:for="{{数组}}" 循环需要绑定key wx:key="index"-->
<!-- 自带定义 item 表示数组的每一项 index 表示数组的索引 -->
<!-- 使用wx:for-item修改每一项值的key -->
<!-- 使用wx:for-index修改每一项值的index -->
<view wx:for="{{list}}" wx:key="i" wx:for-item="r" wx:for-index="i" 
style="color:{{r.styFlag?'red':''}};" data-i="{{i}}" bindtap="choose">
    {{r.name}}--{{i}}
</view>

    //js页
    data: {
        list:[{
            name:'冰墩墩',
            styFlag:true
        },{
            name:'雪融融',
            styFlag:false
        },{
            name:'小泡菜',
            styFlag:false
        }]
    },
    choose:function(e){
        let { currentTarget:{ dataset:{i} } } = e;
        /* 第一步获取点击的当前的内容的索引 */
        /* 排他 把所有的先置空 */
        this.data.list.forEach(r=>{
            r.styFlag = false
        })
        this.data.list[i].styFlag = true;
        /* 数据变了 视图没变 必须要使用setData实现数据和视图的双向数据绑定 */
        this.setData({
            list:this.data.list
        })
    }
复制代码

2. if 判断

通过if条件判断,改变文字。

<!-- wxml页-->
<view>
<text wx:if="{{flag}}">我是冰墩墩</text>
<text wx:else>我是雪容融</text>
<button catchtap="change">切换</button>
</view>

  //js页
  data: {
    flag: true
  },
  change: function () {
    this.setData({ flag: !this.data.flag })
  }
复制代码

3. 页面跳转

(1)tabBar

//app.json页面(json页面无法注释,否则报错)
"tabBar": {
    "color": "#fff",
    "selectedColor": "#FF1800",
    "backgroundColor": "#000",
    "list": [
      {
        "pagePath": "pages/index/index",
        "text": "首页",
        "iconPath": "",
        "selectedIconPath": ""
      },
      {
        "pagePath": "pages/logs/logs",
        "text": "日志",
        "iconPath": "",
        "selectedIconPath": ""
      }
    ]
  }
复制代码

(2)路由

wx.switchTab

跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面。

wx.switchTab({
  url: ''
})
复制代码

wx.reLaunch

关闭所有页面,打开到应用内的某个页面。

wx.reLaunch({
  url: ''
})
复制代码

wx.redirectTo

关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面。

wx.redirectTo({
  url: ''
})
复制代码

wx.navigateTo

保留当前页面,跳转到应用内的某个页面。但是不能跳到 tabbar 页面。

wx.navigateTo({
  url: ''
})
复制代码

wx.navigateBack

关闭当前页面,返回上一页面或多级页面。

wx.navigateBack()