免费国产欧美国日产_少妇AV一区二区三区无码_蜜桃精品av无码喷奶水小说_jk18禁网站视频_精产国品一二三级产品区别_被夫の上司に犯波多野结衣_78m成人手机免费看_最爽最刺激18禁视频_偷偷色噜狠狠狠狠的777米奇

易優(yōu)GEO 重磅上線 ~ 一站式GEO優(yōu)化工具,讓豆包、文心一言、DeepSeek 在回答中主動推薦你的品牌,搶占AI流量入口!  點(diǎn)擊查看

小程序模板網(wǎng)

前端圈:微信小程序開發(fā)一周總結(jié)

發(fā)布時(shí)間:2018-04-03 11:31 所屬欄目:小程序開發(fā)教程
本文原發(fā)自公眾號:前端圈

編輯器

我直接用 vscode(其它編輯器同理,預(yù)覽還是用的微信開發(fā)工具),語法高亮將 wxml 設(shè)置成 html, wxss 設(shè)置成 css


	

	
  1. "files.associations": {
  2. "*.wxss": "css",
  3. "*.wxml": "html"
  4. }

也可以安裝小程序相關(guān)插件

開始寫代碼

 

  • 首先需要完整看完微信小程序文檔(框架,組件和 API),方便后面用到時(shí)查找。

  • view 組件對應(yīng) html 里的 div

  • text 對應(yīng) span

  • wxss 里選擇器只支持 element, #id, .className, ::after, ::before

公用組件

項(xiàng)目目錄里新建 components ,按類似 pages 目錄結(jié)構(gòu),將每個(gè)組件的模板,樣式和 js 文件放在同一個(gè)文件夾

mergePage

 

  • 組件的加載

使用mergePage方法將所有組件方法及頁面事件注冊到頁面對象

  • 組件的編寫方式

組件里使用可以 this.setData 來更新頁面數(shù)據(jù),或者注冊 onLoad,onShow等頁面事件,mergePage 的最后一個(gè)參數(shù)的事件會最先調(diào)用。

  • mergePage 的源碼

es 6

箭頭函數(shù),函數(shù)參數(shù)默認(rèn)值及解析構(gòu)

 

一些函數(shù)參數(shù)也可以直接使用默認(rèn)參數(shù)。

拓展運(yùn)算符 和 對象屬性簡寫

在給 template 傳 data 參數(shù)時(shí),可以使用對象屬性簡寫,如


	

	
  1. <template is="..." data="{{...obj, id: otherIdVariable, name}}"></template>

這樣 template 中可以使用變量為 obj 對象的所有 key,以及 id 和 name

模板字符串

小程序里可以直接方便的使用 es 6 模板字符串

let url = `${app.globalData.API_PREFIX}/cart/add`;

更多 es 6 特性

請參考:https://uedsky.com/2016-06/es6/ ,也可以參考下一篇es6語法簡介

其它注意

 

  • wx.showToast 圖標(biāo)只支持"success"、"loading",錯(cuò)誤提示得自定義

  • 如果 template 里面的變量沒值,請看 data 傳進(jìn)來沒有。

  • 開發(fā)工具(v0.10.102800)可以用下面方法添加接口請求域名,遺憾的是微信里不行。

  • 所有頁面的 JS 會在啟動時(shí)立即執(zhí)行,而不是打開頁面才執(zhí)行,所以一些寫在全局的代碼應(yīng)該盡量放到 onLoad 之后,下面是從調(diào)試 source 里看到加載的代碼:

     

    
    			
    1. define("pages/index/index.js", function(require, module, exports, window,document,frames,self,location,navigator,localStorage,history,Caches,screen,alert,confirm,prompt,XMLHttpRequest,WebSocket ){
    2. 'use strict';
    3. var app = getApp();
    4. var util = require('../../../utils/util');
    5. var ErrorMsg = require('../../../components/error-msg/error-msg');
    6. var AddressPicker = require('../../../components/address-picker/address-picker');
    7.  
    8. Page(util.mergePage({
    9. // 頁面代碼省略
    10. }, AddressPicker, ErrorMsg));
    11. //# sourceMappingURL=data:application/json;...});
    12. require("pages/index/index.js")

參考



本文地址:http://www.szcjxy.com/wxmini/doc/course/23047.html 復(fù)制鏈接 如需定制請聯(lián)系易優(yōu)客服咨詢: 點(diǎn)擊咨詢
在線客服