1. 程式人生 > >問答《一百一十六》動態獲得元素內容,點選關閉再點選...

問答《一百一十六》動態獲得元素內容,點選關閉再點選...

問答《一百一十六》動態獲得元素內容,點選關閉再點選…

問題:
點選關閉再點選顯示的功能應該用什麼去寫
程式碼如下:

/----------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'}) } } })

截圖:
一、重新整理
重新整理截圖

二、點選關畢
點選關閉

三、再點選就出不來?怎麼回事,求教大神
再點選就出不來

一、重新整理

答:麥琪

/------------------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>

已經測試過,能正常執行。

問題;
js異常資訊怎麼統一處理
有時候因程式程式碼的問題造成返回的結果不能解析,這種情況下js會報錯,之後的程式碼就不執行,這種情況該如何處理
js異常資訊怎麼統一處理
答:Can 官方

try catch
沒有所謂統一的方法
只能程式碼嚴謹一點

問題;
小程式動態獲得元素內容
如圖所示:
需求:通過點選快速新增,可以快速得將目標短語插入到當中
解決方案:
1、通過 bindblur 事件來獲取當前的的值
2、點選 短語塊 出發 setweihu 方法,將短語塊的值插入到 中
問題:
1、setweihu方法 不觸發 bindblur 方法 無法獲取 到中的值
setweihu方法

答:maq

bindblur 不是【setweihu 方法觸發】的,也不是由任何程式程式碼觸發的,它是【輸入焦點離開 textarea】時自動觸發的。

現在我已明白 bindlur 的觸發機制 ,但是我也是沒辦法了,才會一個個方法試過來碰運氣,求教,如果要實現需求,我應該怎麼辦

相對於普通網頁程式設計的 DOM 操作而言,微信小程式只能通過【資料繫結】和【事件觸發】來實現雙向的資料傳遞。

具體來說,當需要用程式設定 textarea 的時候,就呼叫 page.setData(),通過資料繫結傳遞給 textarea;當程式需要取 textarea 中的內容的時候,就通過 bindblur/bindinput 之類的事件來獲取到 value 即可。