欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

微信小程序中基礎(chǔ)入門(mén)的示例分析-創(chuàng)新互聯(lián)

這篇文章主要為大家展示了“微信小程序中基礎(chǔ)入門(mén)的示例分析”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“微信小程序中基礎(chǔ)入門(mén)的示例分析”這篇文章吧。

在雙河等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站設(shè)計(jì) 網(wǎng)站設(shè)計(jì)制作按需定制網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,網(wǎng)絡(luò)營(yíng)銷推廣,成都外貿(mào)網(wǎng)站制作,雙河網(wǎng)站建設(shè)費(fèi)用合理。

微信小程序(下面簡(jiǎn)稱小程序)近些月來(lái)刷爆了我們這些程序猿們的圈子,可以說(shuō)無(wú)數(shù)的程序猿磨刀霍霍,準(zhǔn)備在這快蛋糕上殺出一片天地。那么作為前端開(kāi)發(fā)人員,小程序開(kāi)發(fā)和我們平常的開(kāi)發(fā)有什么不同的地方呢?讓我們一起來(lái)走進(jìn)門(mén)里看看。


我們從下面幾個(gè)方向來(lái)了解一下小程序的開(kāi)發(fā):


1.開(kāi)發(fā)工具


2.布局差異


3.JS差異


4.其它


先看一張小程序初始化的目錄:
微信小程序中基礎(chǔ)入門(mén)的示例分析
小程序包含一個(gè)描述整體程序的 app 和多個(gè)描述各自頁(yè)面的 page。一個(gè)小程序主體部分由三個(gè)文件組成,必須放在項(xiàng)目的根目錄,如下:app.js、app.json、app.wxss;一個(gè)小程序頁(yè)面由四個(gè)文件組成,分別是:js、wxml、wxss、json。
詳情傳送門(mén)請(qǐng)戳-->https://mp.weixin.qq.com/debug/wxadoc/dev/framework/structure.html?t=20161107

一、開(kāi)發(fā)工具微信小程序中基礎(chǔ)入門(mén)的示例分析


微信提供了一款 ' 微信開(kāi)發(fā)者工具 ‘ ,可以直接在小程序的官網(wǎng)下載(https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/download.html?t=20161107)。

微信開(kāi)發(fā)者工具集成了開(kāi)發(fā)調(diào)試、代碼編輯及程序發(fā)布。關(guān)于工具本身沒(méi)什么好介紹的,用了一段時(shí)間,從代碼編輯的習(xí)慣來(lái)說(shuō),比較類似sublime text3,各種特性也都和st3相差不大,估計(jì)也是內(nèi)置了emmet,上手還是比較輕松的。


需要注意一點(diǎn)的問(wèn)題是在使用微信開(kāi)發(fā)者工具時(shí),要習(xí)慣使用”編譯“功能,有的人會(huì)遇到自己在編輯器里明明修改了某些地方,但是頁(yè)面里卻沒(méi)有發(fā)生變化,這個(gè)時(shí)候其實(shí)只需要重新編譯一次,就妥妥的解決了。同時(shí),遇到一些奇怪問(wèn)題的時(shí)候,也不妨清理一下緩存,也許會(huì)有意外收獲。

二、布局差異


1.標(biāo)簽

小程序的標(biāo)簽和我們習(xí)慣的p,p,span等標(biāo)簽有較大的差異,小程序里完全取消了這些我們所熟悉標(biāo)簽,取而代之的標(biāo)簽又被叫做組件,分別是視圖容器、基礎(chǔ)內(nèi)容、表單組件、操作反饋(將會(huì)廢棄,改為API)、導(dǎo)航、媒體組件、地圖和畫(huà)布這八類。(傳送門(mén):https://mp.weixin.qq.com/debug/wxadoc/dev/component/?t=20161107)


組件的用法和標(biāo)簽一樣,比如view組件< view>< / view>、text組件< text>< /view>。從寫(xiě)法上看起來(lái)和標(biāo)簽寫(xiě)法沒(méi)什么區(qū)別,但是這些組件和標(biāo)簽較大的區(qū)別就是,組件本身設(shè)置了樣式,比如icon組件:

 <view class="group">
 <block wx:for="{{iconSize}}">
  <icon type="success" size="{{item}}"></icon>
 </block>
</view>

微信小程序中基礎(chǔ)入門(mén)的示例分析
我們只需要使用icon組件,不需要去自己設(shè)置樣式就可以得到對(duì)應(yīng)的icon樣式。


在日常小程序開(kāi)發(fā)中,比較常用的組件有view和text,其中用的最多的就是view,view本身并沒(méi)有默認(rèn)太多的樣式,只有一個(gè)display:block樣式,所以在我看來(lái)view就類似于p,我們也就把它當(dāng)作p來(lái)使用就行了,然后你就會(huì)發(fā)現(xiàn)布局的時(shí)候到處都是view~,就像下圖:
微信小程序中基礎(chǔ)入門(mén)的示例分析


滿眼全是view這種寫(xiě)法不需要像html一樣考慮語(yǔ)義、seo神馬的,非常的簡(jiǎn)單粗暴~。

額外提一下text組件,text擁有view所沒(méi)有的一個(gè)特性就是text組件內(nèi)的文本可以被復(fù)制、可以被復(fù)制、可以被復(fù)制(重要的事情說(shuō)三遍~)。如果你希望某段文本可以被復(fù)制,那么你只能使用text組件。同時(shí)需要注意的一點(diǎn),text組件內(nèi)部不能嵌套view組件!嵌套無(wú)效!

2.樣式


如果說(shuō)html的標(biāo)簽發(fā)生了較大變化的話,那么css則幾乎是沒(méi)有什么變化,這意味著我們可以非??焖俚脑谛〕绦蚶镏貥?gòu)我們的移動(dòng)端網(wǎng)頁(yè)(直接把樣式拷貝過(guò)來(lái)即可)。但是有幾點(diǎn)問(wèn)題我們需要注意下:


1.小程序引入了新的單位rpx:可以根據(jù)屏幕寬度進(jìn)行自適應(yīng)。規(guī)定屏幕寬為750rpx。如在 iPhone6 上,屏幕寬度為375px,共有750個(gè)物理像素,則750rpx = 375px = 750物理像素,1rpx = 0.5px = 1物理像素。


2.不支持less、sass等寫(xiě)法


3.不支持不支持級(jí)聯(lián)選擇器,例如: .test:nth-child(2)、.test:last-child等


4.支持::before和::after

注:想了解更多請(qǐng)戳-->https://mp.weixin.qq.com/debug/wxadoc/dev/framework/view/wxss.html?t=20161107

二、JS差異


雖然小程序的交互采用的是js的語(yǔ)法,但是較大的變化就在于小程序無(wú)法使用選擇器獲取到頁(yè)面的某個(gè)'dom'(應(yīng)該不叫dom),這也是我們前端人員需要思路轉(zhuǎn)變的地方,以往我們習(xí)慣于獲取某個(gè)dom,然后這個(gè)dom上綁定各種事件,同時(shí)對(duì)頁(yè)面進(jìn)行一些改變操作,但是小程序并沒(méi)有提供這種我們習(xí)慣的方法。


不能獲取dom,也不能直接操作dom,那我們?cè)撛趺磳?xiě)呢?

1. bind 和 catch


bind和catch的作用從字面意思就可以大致猜出是用來(lái)綁定某些東西的,沒(méi)錯(cuò),這是小程序提供綁定事件的兩個(gè)方法,而他們的區(qū)別在于bind不阻止冒泡,而catch阻止冒泡。小程序不提供獲取dom的操作,而是讓我們直接將事件綁定寫(xiě)入到組件內(nèi),如下代碼:


<view id="tapTest" data-hi="WeChat" bindtap="tapName"> Click me! </view>

看到這大家可能發(fā)現(xiàn)了bind后面跟著一個(gè)tap,這個(gè)tap是什么東東?

2. tap


tap其實(shí)就是一個(gè)事件,你可以理解為click,不過(guò)在手機(jī)端叫做tap,其它的事件還有:touchstart、touchmove、touchcancel、touchend、longtap。

bindtap=”tapName”組合起來(lái)就是綁定個(gè)tap事件,tapName則是對(duì)應(yīng)的方法名,在這里需要注意一點(diǎn),調(diào)用方法時(shí)不能夠使用tapName(“txt”)這種形式來(lái)傳參,小程序不支持。那么如果我們想要給方法傳遞一些參數(shù)該怎么做呢?接著往下看。

3.event


我們先看一段代碼:

Page({
 tapName: function(event) {
  console.log(event)
 }
})

打印出來(lái)的結(jié)果:



{
"type":"tap",
"timeStamp":895,
"target": {
 "id": "tapTest",
 "dataset": {
  "hi":"WeChat"
 }
},
"currentTarget": {
 "id": "tapTest",
 "dataset": {
  "hi":"WeChat"
 }
},
"detail": {
 "x":53,
 "y":14
},
"touches":[{
 "identifier":0,
 "pageX":53,
 "pageY":14,
 "clientX":53,
 "clientY":14
}],
"changedTouches":[{
 "identifier":0,
 "pageX":53,
 "pageY":14,
 "clientX":53,
 "clientY":14
}]
}

看到這么一堆東西大家可能有點(diǎn)暈,沒(méi)事,我們來(lái)捋一捋。這個(gè)event想來(lái)大家應(yīng)該明白是什么,event包含了目標(biāo)對(duì)象的相關(guān)信息。那意味著,我們只要去修改目標(biāo)對(duì)象的相關(guān)信息,就可以給tapName方法傳輸參數(shù)了。


那么如何修改目標(biāo)對(duì)象的相關(guān)信息呢?在這之前我們必須要先了解下currentTarget和target兩個(gè)屬性,前者是綁定事件的組件,后者是觸發(fā)事件的組件源。理解清楚這兩個(gè)屬性很重要!如果是上面例子這種情況,只有一個(gè)view組件,那么這兩個(gè)屬性的值沒(méi)什么區(qū)別,但是如果換成下面的這個(gè)例子,就不一樣了:

<view id="tap1" data-hi="綁定組件" bindtap="tapName">
  <view id="tap2" data-hi="觸發(fā)組件源"></view>
</view>

我們?cè)佥敵隹纯矗榱朔奖銓?duì)比,只保留下currentTarget和target兩個(gè)屬性):

{
 "target": {
  "id": "tap2",
  "dataset": {
   "hi":"觸發(fā)組件源"
  }
 },
 "currentTarget": {
  "id": "tap1",
  "dataset": {
   "hi":"綁定組件"
  }
 }
}

通過(guò)這個(gè)例子就可以很清楚的發(fā)現(xiàn),currentTarget對(duì)應(yīng)的就是外層綁定了tapName方法的view組件,而target對(duì)應(yīng)的則是內(nèi)部的view組件。


通過(guò)兩個(gè)例子,相信大家也注意到了兩個(gè)屬性,data-hi和dataset,這兩個(gè)屬性有什么關(guān)系呢?大家應(yīng)該猜到了,dataset的值其實(shí)就是我們?cè)O(shè)置的data-xxx的值,而xxx則是dataset里面的key。大家對(duì)于data-xxx的寫(xiě)法應(yīng)該不陌生,就是html中常見(jiàn)的自定義屬性的寫(xiě)法,而在小程序中,則被用來(lái)傳參。

4. 改變樣式


前面就提到了小程序并不提供獲取和操作dom的能力,這就又帶來(lái)了一個(gè)問(wèn)題,我們?nèi)绾稳?dòng)態(tài)的改變樣式呢?我們先看下例子:

<view class="container" style="overflow: {{screenType?'hidden':'scroll-y'}}" bindtap="bindType">
Page({
 data: {
  screenType: ''
 },
 bindType: function(){
  this.setData({
    screenType: '1'
  })
 }
 })</view>

大家是不是有點(diǎn)明白了呢,我們沒(méi)有辦法直接獲取dom然后去改變他的樣式,所以我們只能通過(guò)data里的屬性來(lái)控制樣式的變化,如上面的代碼,overflow的值取決于screenType的值是否存在,如果存在,則overflow: hidden,反之overflow: scroll-y;那么我們只需要改變screenType的值。要改變screenType的值也簡(jiǎn)單了,小程序提供了this.setData方法,可以設(shè)置data內(nèi)的值。

四、其它


最后提一下我們熟悉的ajax請(qǐng)求,在小程序里,它不叫ajax,而叫做wx.request。用法和ajax沒(méi)什么區(qū)別,需要特別注意的是,請(qǐng)求必須是https請(qǐng)求!而不是平常的http請(qǐng)求!除了必須要是https請(qǐng)求以外,還需要到小程序的后臺(tái)里設(shè)置合法域名,否則無(wú)法請(qǐng)求。

以上是“微信小程序中基礎(chǔ)入門(mén)的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

網(wǎng)站名稱:微信小程序中基礎(chǔ)入門(mén)的示例分析-創(chuàng)新互聯(lián)
鏈接地址:http://aaarwkj.com/article42/jceec.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷推廣、App設(shè)計(jì)網(wǎng)站導(dǎo)航、電子商務(wù)微信公眾號(hào)、關(guān)鍵詞優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁(yè)設(shè)計(jì)公司
一本久久综合亚洲鲁鲁五月天| 国产精品一区午夜福利| av福利一区二区三区| 精品少妇熟女av免费久久| 亚洲精品av一区二区久久| 国产成人一区二区三区影| 亚洲国产精品一区二区电影| 久久久精品在线免费视频| 日韩高清伦理一区二区| 久久成人免费在线电影| 91在线视频国产网站| av永久天堂一区二区三区| 丰满人妻毛片一区二区三区| 日韩精品人妻一区二区三区蜜桃臀| 最新亚洲av熟女播放| 久久草福利视频在线观看| 国产成人久久久精品一区| 少妇太爽高潮在线播放| 一区二区三区人妻av| 日本一区二区三区中文字幕不卡| 桃色av一区二区三区| 亚洲免费小视频在线观看| 国产精品亚洲av在线| 日本黄色小网站在线播放| 欧美精品一区二区三区在线| 五月婷婷六月丁香综合激情| 97碰碰视频在线观看| 亚洲乱码一区二区三区人妇| 国产麻豆精品二区视频| 91精品国语对白人妻刺激| 精品国产乱码久久蜜桃| 国产一级一片内射在线| 亚洲毛片一区在线播放| 黄片视频免费在线观看播放| 日韩精品在线观看电影| 国产精品一区二区三区国产| 欧美日韩国产综合下一页| 久久国产亚洲欧美一区| 日韩一级黄色片在线播放| 国产婷婷成人久久av免费高清 | 国产传媒在线免费播放|