微信小程序開發--數據綁定

1、單項數據綁定

<!-- index.wxml -->
<view class="container">
  <form>
    <input value="{{msg}}" bindinput='inputData' />
    <text>{{msg}}</text>
  </form>
</view>

  

//index.js
Page({
  data: {
    msg:"initial"
  },
  inputData:function(e){
    this.setData({
      msg:e.detail.value
    })
  }
})

  2、登陸註冊案例(1)

<!-- index.wxml -->
<view class="container">
  <view class="header">
    <image src="../images/logo.png"></image>
  </view>
  <view class="inputs">
    <input 
      class="username" 
      placeholder='請輸入用戶名' 
      value="{{username}}"
      bindinput='inputChange'
      data-prop="username">
     </input>
    <input
      class="password" 
      type="password" 
      placeholder='請輸入密碼'
      value="{{password}}" 
      bindinput='inputChange'
      data-prop="password">
      </input>
  </view>
  <view class="buttons">
    <button type="primary" bindtap='login'>登陸</button>
    <button type="default">註冊</button>
  </view>
</view>
//index.js
Page({ data: {
// msg: "initial", username: "", password: "" }, inputData: function(e) { this.setData({ msg: e.detail.value }) }, // userNameChange: function(e) { // this.setData({ // username: e.detail.value // }) // }, // passwordChange: function(e) { // this.setData({ // password: e.detail.value // }) // }, //封裝函數 inputChange: function(e) { var prop = e.target.dataset['prop'] var changed = {} changed[prop] = e.detail.value this.setData(changed) }, // 點擊按鈕以後處理事件的函數 login: function() { console.log(this.data) } })
/**index.wxss**/
.header image{width: 50px;height: 50px;margin-bottom: 120px}
.inputs input{border:solid 1px silver;width: 260px;height:40px;padding-left:10px;}
.buttons{margin-top:50px;}
.buttons button{width:260px;}

 

登陸註冊案例(2)

<!-- index.wxml -->
<form bindsubmit='login'> <view class="container"> <view class="header"> <image src="../images/logo.png" mode="aspectFit"></image> </view> <view class="inputs"> <input class="username" placeholder='請輸入用戶名' name="username" value="{{username}}"> </input> <input class="password" type="password" placeholder='請輸入密碼' name="password" value="{{password}}"> </input> </view> <view class="buttons"> <button type="primary" form-type="submit">登陸</button> <button type="default">註冊</button> </view> </view> </form>
//index.js
//用from表單實現登陸界面功能
Page({
  data: {
    username: "admin",
    password: "123456"
  },
  // 點擊按鈕以後處理事件的函數
  login: function(e) {
    console.log(e)
  }
})

3、條件渲染

(1)、wx:ifjavascript

<!-- index.wxml -->
<view class="container">
  <view class="header" bindtap='change'>
    <text>點擊切換內容</text>
  </view>
  <view wx:if="{{!show}}">
    <text>
    這是內容。。。
    這是內容。。。
    這是內容。。。
    這是內容。。。
    </text>
  </view>
</view>
//index.js
Page({
  data: {
    show:"false"
  },
  change:function(){
    this.setData({show:!this.data.show})
  }
})

(2)、block  wx:ifhtml

<view class="container">
  <view class="header" bindtap='change'>
    <text>點擊切換內容</text>
  </view>
    <block wx:if="{{!show}}">
    <view>
      <text>
    這是內容。。。
    這是內容。。。
    這是內容。。。
    這是內容。。。
    </text>
    </view>
    <view>
      <text>
    這是內容。。。
    這是內容。。。
    這是內容。。。
    這是內容。。。
    </text>
    </view>
  </block>
</view>

 

(2)、hiddenjava

<view class="container">
  <view class="header" bindtap='change'>
    <text>點擊切換內容</text>
  </view>
    <view hidden="{{!show}}">
    <text>
    這是內容。。。
    這是內容。。。
    這是內容。。。
    這是內容。。。
    </text>
  </view>
  <view hidden="{{!show}}">
    <text>
    這是內容。。。
    這是內容。。。
    這是內容。。。
    這是內容。。。
    </text>
  </view>
</view>
相關文章
相關標籤/搜索