事件綁定
類似于web開發中的 onclick,微信開發者工具中使用的 bindtap,bindinput之類的方法,其實都是封裝的JavaScript
通過實驗探究資料傳遞方法
寫一個input标簽可以輸入資料,此時input标簽綁定一個handleInput JS函數,
我們往輸入框中輸入資料,在控制台中傳回參數檢視參數内容
WXML
WXSS
handleInput:function(e){
console.log(e)
},
控制台顯示
于是乎可以斷定資料value在detail中,嘗試在控制台列印出e.detail.value
果然輸入的事實資料就在 e.detail.value中,此時把num的數值和value同步,那麼就可以事實更新資料了。
WXML
<input clss="input" type="text" bindinput="handleInput"></input>
<view>{{num}}</view>
JS
handleInput:function(e){
console.log(e.detail.value)
this.setData({
num:e.detail.value
})
},
微信小程式中的參數傳遞
<button bindtap="handletap" data-operator="{{1}}">+</button>
<button bindtap="handletap" data-operator="{{-1}}">-</button>
handletap:function(e){
console.log(e)
},
還是通過上面的方式在控制台中找一下 定義的data-operator在currentTarget中的dataset裡面,為了實作觸發+事件讓num+1,我們可以再在handletap
裡面寫一個dataset,讓num與我們傳遞的參數operator相加。從長遠看這個自定義屬性來傳遞參數讓程式設計變的更加靈活。
handletap:function(e){
var operator=e.currentTarget.dataset.operator;
this.setData({
num:this.data.num+operator
})
},
樣式導入
文法格式
在相應的WXSS檔案中寫入 @import “相對路徑”;
唯一可以長按複制的text标簽
在text标簽中可以設定一些屬性,讓使用者長按複制,也是唯一的一個微信開發标簽可以支援這個功能的。
image圖檔标簽
1.src指定圖檔的路徑可以使本地也可以是網絡加載圖檔(上傳圖檔大小不得超過2M,本地圖檔最好是用jpg檔案,而png是無損無壓縮圖檔格式不推薦使用)圖檔的預設大小是320X240的大小,我的圖檔大小是285X183
2.mode決定圖檔的内容如何和寬高做适配
scaleToFill 不按照原圖像的橫縱比例放縮圖檔,填滿image的大
aspectFit 保持寬高比例,確定圖檔的長邊露出來,常常在頁面輪播中使用
aspectFill 保持寬高比例的,確定圖檔的短邊顯示,不常使用
widthFix 寬度設定了以後,高度按照比例自己調整,常用
bottom 類似于以前的background-positio
3.小程式當中的圖檔支援懶加載 lazy-load會自己判斷當出現在視口上下三屏高度的時候自己開始加載
swiper等比例計算高度的方法
首先去準備一些素材,到天貓上的輪播器找3張圖檔,copy一下路徑,并且我們可以看到圖檔的大小是720X296的。如何把每一張圖檔,按照适合的比例放到我的輪播器裡面呢,其實是有計算公式的
<swiper>
<swiper-item ><image src="https://aecpm.alicdn.com/simba/img/TB1U5ElLFXXXXavXVXXSutbFXXX.jpg"></image></swiper-item>
<swiper-item ><image src="//img.alicdn.com/tps/i4/TB1h30lJFXXXXXzXXXX6o7KSVXX-730-300.jpg"></image></swiper-item>
<swiper-item ><image src="//img.alicdn.com/tps/i4/TB18o6AMXXXXXahXVXX6o7KSVXX-730-300.jpg"></image></swiper-item>
</swiper>
效果并不太好,不能完全展現出比例,看不上去不舒服
計算方法
swiper寬度 / swiper高度=原圖的寬度/原圖的高度
可以得到
swpier高度=swiper寬度X原圖的高度/原圖的寬度
swiper的寬度是100%也就是 100vw,
原圖高度=296px
原圖寬度=720px
swiper高度=100vw*296/720
這裡又會涉及到一個文法就是在web開發和小程式開發中都有的一種自動計算寬高的方式 calc(表達式)
WXSS
swiper{
width: 100%;
height: calc(100vw*296/720);
}
image{
width: 100%;
}
WXML
<swiper>
<swiper-item ><image mode="widthFix" src="https://aecpm.alicdn.com/simba/img/TB1U5ElLFXXXXavXVXXSutbFXXX.jpg"></image></swiper-item>
<swiper-item ><image mode="widthFix" src="//img.alicdn.com/tps/i4/TB1h30lJFXXXXXzXXXX6o7KSVXX-730-300.jpg"></image></swiper-item>
<swiper-item ><image mode="widthFix" src="//img.alicdn.com/tps/i4/TB18o6AMXXXXXahXVXX6o7KSVXX-730-300.jpg"></image></swiper-item>
</swiper>
效果展示,720X296的圖檔很舒展的在swiper中打開,顯示一種美感