收藏
回答

点击关闭再点击显示的功能应该用什么去写,大神解答下!!





代码如下:

/----------wxml------------/

<view class="container">

  <button bindtap="change" >点击切换</button>

  <view class='{{index=="true"?"hide":"present"}}' style="background-color:red;width:200rpx;height:200rpx;margin:20px 0 30px 0;"></view>


/-----------wxss-----------/

.hide{display:none}

.present{display:block}


/-----------js---------------/

var app = getApp()

Page({

data: {

index:'false'

},

change:function(e){

if(this.data.index=='false'){

  this.setData({index:'true'})

}else{

  console.log(this.data.index);

  this.setData({index:'false'})

}

}

})

截图:

一、刷新


二、点击关毕


三、再点击就出不来?怎么回事,求教大神





最后一次编辑于  2017-05-12
回答关注问题邀请回答
收藏

11 个回答

  • 麦琪
    麦琪
    2017-05-15

    !是逻辑运算符。当index为true时,!index为false;当index为false时,!index为true。

    2017-05-15
    有用
    回复
  • 冷烟雨
    冷烟雨
    2017-05-15

    index=="true"与 !index    有什么却别 , 为什么我写的效果就出不来,!index这个请解释下

    2017-05-15
    有用
    回复
  • YJFn
    YJFn
    2017-05-12

    出不来?var d=e.detail.value取到的是boolean型,true是boolean型的值,"true"是字符串,先搞清楚些

    效果:


    <!--index.wxml-->

    <view class="container">

      <switch type="switch" bindchange="change" style="margin-top:20px;" />

      <view class='{{index == true?"hide":"present"}}'

    style="background-color:red;width:200rpx;height:200rpx;margin-top:20px;"></view>

    </view>


    /**index.wxss**/

    .hide {

      display: none;

    }


    .present {

      display: block;

    }


    //index.js

    //获取应用实例

    var app = getApp()

    Page({

      data: {

        index: false,//用不着引号

      },

      //事件处理函数

      change: function (e) {

        var d = e.detail.value;

        console.log(d);

        if (this.data.index ) {//也不用=="false"

          this.setData({ index: d })

        } else {

          this.setData({ index: d })

        }; console.log(this.data.index);

      },

      onLoad: function () {


      }

    })


    2017-05-12
    有用
    回复
  • 麦琪
    麦琪
    2017-05-12


    运行屏幕截图

    2017-05-12
    有用
    回复
  • 麦琪
    麦琪
    2017-05-12

    /------------------js--------------------/

    var app = getApp()

    Page({

      data: {

        index: false,

      },

      change: function (e) {

        var d = e.detail.value;

        this.setData({ index: d })

      }

    })


    /----------------wxml-----------------/

    <view class='{{!index?"hide":"present"}}' style="background-color:red;width:200rpx;height:200rpx;margin-top:20px;"></view>


    已经测试过,能正常运行。

    2017-05-12
    有用
    回复
  • 冷烟雨
    冷烟雨
    2017-05-12

    你有试过吗,你这样写效果一次都出不来

    2017-05-12
    有用
    回复
  • YJFn
    YJFn
    2017-05-12

    <view class="{{index == true ?'hide':'present'}}"

    引号的问题,这样就可以了

    2017-05-12
    有用
    回复
  • YJFn
    YJFn
    2017-05-12

    你可以试试用条件渲染


    2017-05-12
    有用
    回复
  • YJFn
    YJFn
    2017-05-12

    2L正解

    2017-05-12
    有用
    回复
  • 麦琪
    麦琪
    2017-05-12

    this.setData=({index:'fales'})

    这句写错了吧,怎么多个=号出来?删掉就正常了

    2017-05-12
    有用
    回复

正在加载...

登录 后发表内容