微信小程序点击切换内容问题

有两盒子,想点击底部粉红色区域,切换盒子,粉红色区域文字也要改变,菜鸟刚入门小程序,好多不懂啊

clipboard.png

clipboard.png

这是一个demo,结构跟项目是一样的,项目页面代码太多了,求大神解救

<view>

<view class="box1">图片版</view>
<view class="box2  none">文字版</view>

</view>

<view>

<view class="button none">点击切换到图片版</view>
<view class="button ">点击切换到文字版</view>

</view>

阅读 27.8k
3 个回答
<view class="box1" wx:if="{{type=='图片'}}">图片版</view>
<view class="box2" wx:if="{{type=='文字'}}">文字版</view>

<view class="button" bindtap="toggle">点击切换到{{type}}版</view>

// in js
data: {
    type: '图片'
},
toggle: function(e) {
    var that = this;
    var type = that.data.type === '图片' ? '文字' : '图片';
    that.setData({
        type: type
    });
}

在 data 中定义一个字段 xxxx

data: {
        xxxxx : true,
    },

视图这里,通过条件渲染判断需要显示那个视图

<view wx:if="{{xxxx}}"></view>
<view wx:else></view>

点击按钮改变 xxxx 的值

change(){
  var value = !this.data.xxxx;
  this.setData({
    xxxx: value
  })
}

写好两个页面,设置一个 bool 变量 onlyText 储存状态, 为 true 时显示文字版,为 false 时显示图片版。
大概像这样:

<view class="box2" wx:if="{{ onlyText }}">文字版
    <button bindtap="switch">点击切换到图片版</button>
</view>
<view class="box1" wx:else>图片版
    <button bindtap="switch">点击切换到文字版</button>
</view>
var app = getApp();
Page({
    data: {onlyText: true},
    switch: function(){
        this.setData({
            onlyText: !onlyText
        })
    },
    ...
})
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题