微信小程序基礎(chǔ)知識(shí)

一. .wxml 文件中的基本語(yǔ)法

<!-- view:  相當(dāng)于div -->
<!-- text:  相當(dāng)于span -->

<view>
  <!-- 1.插入data中的自定義數(shù)據(jù)  -->
  <text> {{ msg }} </text>

  <!-- 2.屬性的動(dòng)態(tài)值 -->
  <text title="{{ msg }}"></text>

  <!-- 3.能夠解析標(biāo)簽的插入方式 -->
  <rich-text nodes=" {{ msg }}"></rich-text>

  <!-- 4.條件語(yǔ)句wx:if -->
  <text wx:if="{{ flag === 1 }}">flag為1時(shí)顯示</text>
  <text wx:elif="{{ flag === 2 }}">flag為2時(shí)顯示</text>
  <text wx:else>flag不是以上兩種情況時(shí)顯示</text>

  <!-- 5.循環(huán)語(yǔ)句 wx:for -->
  <!-- 使用循環(huán)時(shí),默認(rèn) item 代表數(shù)組中的每一個(gè)元素浑娜,index表示元素的索引 -->
  <!-- 如果覺(jué)得item不夠語(yǔ)義化惊豺,可以使用 wx:for-item="別名" wx:for-index="別名" 來(lái)指定別名 -->
  <!-- 注意: 指定別名后,item和index將不能再使用 -->
  <!--   記得要加key值 -->
  <view>
    <!-- 默認(rèn)寫(xiě)法 -->
    <text wx:for="{{ lists }}" wx:key="{{ }}">
      {{ item }}, {{ index }}
    </text>

    <!-- 指定別名寫(xiě)法 -->
    <text
      wx:for="{{ lists }}"
      wx:for-item="list"
      wx:for-index="ind"
      wx:key="{{ }}"
    >
      {{ list }}, {{ ind }}
    </text>
  </view>

  <!-- 6.綁定事件 -->
  <!-- bindtap="handle"喇勋,不傳遞參數(shù)寫(xiě)法 -->
  <button bindtap="handle">點(diǎn)擊觸發(fā)handle自定義方式</button>

  <!-- 傳遞參數(shù)寫(xiě)法 data-id="1": 表示傳遞id參數(shù) -->
  <button bindtap="handle" data-id="1">點(diǎn)擊觸發(fā)handle自定義方式</button>
</view>

二. .js 文件中的常用屬性

Page({

  // 自定義: handle處理函數(shù)(綁定的點(diǎn)擊事件的處理函數(shù))
  handle( ev ){
    // 獲取傳遞的參數(shù)的值
    const id = ev.target.dataset.id;
  },

  /**
   * 頁(yè)面的初始數(shù)據(jù)
   */
  data: {
    // 1. 自定義數(shù)據(jù)
    msg: "自定義的msg變量",
    scrollTop: 0
  },

  /**
   * 生命周期函數(shù)--監(jiān)聽(tīng)頁(yè)面加載
   */
  onLoad: function (options) {
    // 2. 獲取data中的數(shù)據(jù)
    const msg = this.data.msg;
  },

  /**
   * 生命周期函數(shù)--監(jiān)聽(tīng)頁(yè)面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函數(shù)--監(jiān)聽(tīng)頁(yè)面顯示
   */
  onShow: function () {

  },

  /**
   * 生命周期函數(shù)--監(jiān)聽(tīng)頁(yè)面隱藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函數(shù)--監(jiān)聽(tīng)頁(yè)面卸載
   */
  onUnload: function () {

  },

  /**
   * 頁(yè)面相關(guān)事件處理函數(shù)--監(jiān)聽(tīng)用戶下拉動(dòng)作
   */
  onPullDownRefresh: function () {
    // 3. 需要在app.json中開(kāi)啟 window.enablePullDownRefresh 值為 true
  },

  /**
   * 頁(yè)面上拉觸底事件的處理函數(shù)
   */
  onReachBottom: function () {
    // 4. 當(dāng)前頁(yè)面滾動(dòng)到底部時(shí)自動(dòng)觸發(fā)
  },

  // 5. 頁(yè)面滾動(dòng)時(shí)自動(dòng)觸發(fā)的函數(shù)
  onPageScroll: function(ev) {

    // 6. 修改data中的數(shù)據(jù)
    this.setData({
      scrollTop: ev.scrollTop
    });

    // 7. 設(shè)置滾動(dòng)
    [wx.pageScrollTo](https://developers.weixin.qq.com/miniprogram/dev/api/wx.pageScrollTo.html)
  }

})

三、小程序的全局配置和頁(yè)面局部配置

官方網(wǎng)址: 全局配置


// app.json中對(duì)小程序進(jìn)行全局配置
{
  "pages":[
    "pages/index/index",
    "pages/profile/profile"
  ],
  "window":{
    "navigationBarBackgroundColor": "#FF6600",
    "navigationBarTitleText": "首頁(yè)",
    "navigationBarTextStyle":"white",

    "backgroundColor": "#ccc",
    "backgroundTextStyle": "dark",

    "enablePullDownRefresh": true
  },
  "tabBar": {
    "color": "#333",
    "selectedColor": "#ff6600",
    "list": [{
      "pagePath": "pages/indArticle/indArticle",
      "text": "首頁(yè)",
      "iconPath": "imgs/index.png",
      "selectedIconPath": "imgs/index_active.png"
    },{
      "pagePath": "pages/profile/profile",
      "text": "我的",
      "iconPath": "imgs/concat.png",
      "selectedIconPath": "imgs/concat_active.png"
    }]
  }
}

四别凤、頁(yè)面跳轉(zhuǎn)及攜帶參數(shù)

<!-- 1. 標(biāo)簽式導(dǎo)航 -->
網(wǎng)址: [navigator](https://developers.weixin.qq.com/miniprogram/dev/component/navigator.html)
// 2. 編程式跳轉(zhuǎn)
網(wǎng)址:[wx.navigateTo](https://developers.weixin.qq.com/miniprogram/dev/api/wx.navigateTo.html)

// 示例:
wx.navigateTo({
  url: `/pages/article/article?id=1&a=2`,
})

// 跳轉(zhuǎn)后饰序,在頁(yè)面中接收的方式
Page({
  onLoad (options) {
    // options就是 {id: 1, a: 2}
    const id = options.id
  }
})


// 注意: 不能跳轉(zhuǎn)到tabBar對(duì)應(yīng)的頁(yè)面中,如果要跳轉(zhuǎn)到tabBar规哪,請(qǐng)使用
網(wǎng)址: [wx.switchTab](https://developers.weixin.qq.com/miniprogram/dev/api/wx.switchTab.html)
wx.switchTab({
  url: '/index'
})

五求豫、微信小程序父子通信和子父通信

自定義組件

// 假設(shè)頁(yè)面index中需要引入article組件
// 1. 則在index.json中進(jìn)行如下配置
{
  "usingComponents": {
      "article-detail": "/components/article/article"
  }
}
// 2. 然后在index.wxml中使用即可
<view>
  <article-detail></article-detail>
</view>

1. 向組件中傳遞值

<view>
  <article-detail msg="{{ msg }}"></article-detail>
</view>

// 然后在article.js中接收
properties: {
  msg:{
    type: String,
    value: ""
  }
}

2. 向父頁(yè)面中傳遞值

// 首先在子組件中
this.triggerEvent("getArticleById", { id: id });

// 然后在父組件中
<view>
  <article-detail bindgetArticleById="handleGetArticle"></article-detail>
  // 或者
  <article-detail bind:getArticleById="handleGetArticle"></article-detail>
</view>

// 最后自定義處理函數(shù)接收參數(shù)
getArticleById(ev) {
  const id = ev.detail.id;
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市诉稍,隨后出現(xiàn)的幾起案子蝠嘉,更是在濱河造成了極大的恐慌,老刑警劉巖杯巨,帶你破解...
    沈念sama閱讀 217,084評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蚤告,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡舔箭,警方通過(guò)查閱死者的電腦和手機(jī)罩缴,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,623評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)蚊逢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)层扶,“玉大人,你說(shuō)我怎么就攤上這事烙荷【祷幔” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,450評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵终抽,是天一觀的道長(zhǎng)戳表。 經(jīng)常有香客問(wèn)我,道長(zhǎng)昼伴,這世上最難降的妖魔是什么匾旭? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,322評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮圃郊,結(jié)果婚禮上价涝,老公的妹妹穿的比我還像新娘。我一直安慰自己持舆,他們只是感情好色瘩,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,370評(píng)論 6 390
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著逸寓,像睡著了一般居兆。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上竹伸,一...
    開(kāi)封第一講書(shū)人閱讀 51,274評(píng)論 1 300
  • 那天泥栖,我揣著相機(jī)與錄音,去河邊找鬼。 笑死吧享,一個(gè)胖子當(dāng)著我的面吹牛晦毙,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播耙蔑,決...
    沈念sama閱讀 40,126評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼见妒,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了甸陌?” 一聲冷哼從身側(cè)響起须揣,我...
    開(kāi)封第一講書(shū)人閱讀 38,980評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎钱豁,沒(méi)想到半個(gè)月后耻卡,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,414評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡牲尺,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,599評(píng)論 3 334
  • 正文 我和宋清朗相戀三年卵酪,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片谤碳。...
    茶點(diǎn)故事閱讀 39,773評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡溃卡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出蜒简,到底是詐尸還是另有隱情瘸羡,我是刑警寧澤,帶...
    沈念sama閱讀 35,470評(píng)論 5 344
  • 正文 年R本政府宣布搓茬,位于F島的核電站犹赖,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏卷仑。R本人自食惡果不足惜峻村,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,080評(píng)論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望锡凝。 院中可真熱鬧粘昨,春花似錦、人聲如沸私爷。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,713評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)衬浑。三九已至捌浩,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間工秩,已是汗流浹背尸饺。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,852評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工进统, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人浪听。 一個(gè)月前我還...
    沈念sama閱讀 47,865評(píng)論 2 370
  • 正文 我出身青樓螟碎,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親迹栓。 傳聞我的和親對(duì)象是個(gè)殘疾皇子掉分,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,689評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 微信小程序賬號(hào)與工具 在線文檔:https://mp.weixin.qq.com/debug/wxadoc/dev...
    小青年coder閱讀 1,110評(píng)論 0 1
  • 1.小程序起步 (1)點(diǎn)擊https://mp.weixin.qq.com/wxopen/waregister?a...
    GXW_Lyon閱讀 3,345評(píng)論 0 0
  • 因新工作主要負(fù)責(zé)微信小程序這一塊酥郭,最近的重心就移到這一塊,該博客是對(duì)微信小程序整體的整理歸納以及標(biāo)明一些細(xì)節(jié)點(diǎn)愿吹,初...
    majun00閱讀 7,341評(píng)論 0 9
  • 什么是Shell變量 ? ? 在初等數(shù)學(xué)數(shù)學(xué)方程式中不从,我們會(huì)經(jīng)常碰到類似于這樣的方程式:y=x+1 ,等號(hào)左右兩邊...
    Surpassme閱讀 1,238評(píng)論 1 9
  • 最近發(fā)現(xiàn)好有表達(dá)的欲望,可惜沒(méi)有能夠表達(dá)清楚的文采犁跪,但還是想寫(xiě)點(diǎn)什么椿息。 越長(zhǎng)大越發(fā)現(xiàn)自己想到的不及感受到的多,能說(shuō)...
    哦你好棒棒啊閱讀 228評(píng)論 0 0