主頁 > 前端設計 > 微信小程式基本認識

微信小程式基本認識

2020-11-22 12:05:24 前端設計

微信小程式

-百度人工智能介面的探索


文章目錄

  • 微信小程式
  • 前言
  • 一、微信小程式是什么?
  • 二、小程式的基本認識
    • 1.小程式注冊與工具說明
    • 2.微信開發者工具的使用
    • 3:創建完成后的小程式頁面基本認識
    • 4:掃碼介面 微信開發檔案的簡單介紹
  • 三、小程式的基本語法
    • 1:基本語法
      • 1-1 資料系結
      • 1-2 組件屬性
      • 1-3 bool型別
      • 2-2 算數運算
      • 2-3 邏輯判斷
      • 2-4 字串運算
    • 3-2 條件渲染
    • 5: wxss 微信小程式樣式
      • 5-1 尺?單位
      • 5-2 選擇器
      • 5-3 ?程式中使?less
    • 6: 組件
      • 6-1 常用組件
      • 6-2 自定義組件
  • 四 :頁面生命周期圖


前言


提示:以下是本篇文章正文內容,下面案例可供參考

一、微信小程式是什么?

微信小程式,小程式的一種,英文名Wechat Mini Program,是一種不需要下載安裝即可使用的應用,它實作了應用“觸手可及”的夢想,用戶掃一掃或搜一下即可打開應用,全面開放申請后,主體型別為企業、政府、媒體、其他組織或個人的開發者,均可申請注冊小程式


二、小程式的基本認識

1.小程式注冊與工具說明

(1):小程式注冊官網

鏈接: 微信注冊

(2)頁面如下
Alt
(3)微信小程式的工具—微信開發者工具

Alt


2.微信開發者工具的使用

(1): 實體如下(示例):
Alt
(2):說明:最上層是選單欄:功能有引入檔案,界面設定,編輯等等;接著下面這層是工具列:顯示控制臺,進行真機除錯,然后后面的模擬器,編輯器,調控器在后面的學習中會有更深的認識,


3:創建完成后的小程式頁面基本認識

(1) 頁面展示
Alt

TYPE說明
pages目錄,存放所有的小程式頁面
utils放在小程式中的工具函式
app.js小程式的邏輯
app.json小程式的公共配置
app.wxss小程式的公共樣式
poject.config.json開發者工具組態檔
TYPEpage頁面
home.js頁面邏輯,存放函式
home.wxss頁面樣式
home.json頁面配置
home.wxml頁面結構
{"pages":[
"pages/index/index",
"pages/logs/logs"
],
"window":{
"backgroundTextStyle":"light",
"navigationBarBackgroundColor": "#fff",
"navigationBarTitleText": "WeChat",
"navigationBarTextStyle":"black"
}
}
//1. pages pages 欄位??于描述當前?程式所有??路徑,這是為了讓微信客?端知道當前你的?程式
//??定義在哪個?錄,
//2. window window 欄位?定義?程式所有??的頂部背景顏?,?字顏?定義等,
//3.完整的配置資訊請參考app.json配置


4:掃碼介面 微信開發檔案的簡單介紹

( 1):微信開發檔案
鏈接: 微信開發檔案網址

(2):內容

<style>#mermaid-svg-iTjnFq1qjKKwmLCg .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-iTjnFq1qjKKwmLCg .label text{fill:#333}#mermaid-svg-iTjnFq1qjKKwmLCg .node rect,#mermaid-svg-iTjnFq1qjKKwmLCg .node circle,#mermaid-svg-iTjnFq1qjKKwmLCg .node ellipse,#mermaid-svg-iTjnFq1qjKKwmLCg .node polygon,#mermaid-svg-iTjnFq1qjKKwmLCg .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-iTjnFq1qjKKwmLCg .node .label{text-align:center;fill:#333}#mermaid-svg-iTjnFq1qjKKwmLCg .node.clickable{cursor:pointer}#mermaid-svg-iTjnFq1qjKKwmLCg .arrowheadPath{fill:#333}#mermaid-svg-iTjnFq1qjKKwmLCg .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-iTjnFq1qjKKwmLCg .flowchart-link{stroke:#333;fill:none}#mermaid-svg-iTjnFq1qjKKwmLCg .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-iTjnFq1qjKKwmLCg .edgeLabel rect{opacity:0.9}#mermaid-svg-iTjnFq1qjKKwmLCg .edgeLabel span{color:#333}#mermaid-svg-iTjnFq1qjKKwmLCg .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-iTjnFq1qjKKwmLCg .cluster text{fill:#333}#mermaid-svg-iTjnFq1qjKKwmLCg div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-iTjnFq1qjKKwmLCg .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-iTjnFq1qjKKwmLCg text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-iTjnFq1qjKKwmLCg .actor-line{stroke:grey}#mermaid-svg-iTjnFq1qjKKwmLCg .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-iTjnFq1qjKKwmLCg .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-iTjnFq1qjKKwmLCg #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-iTjnFq1qjKKwmLCg .sequenceNumber{fill:#fff}#mermaid-svg-iTjnFq1qjKKwmLCg #sequencenumber{fill:#333}#mermaid-svg-iTjnFq1qjKKwmLCg #crosshead path{fill:#333;stroke:#333}#mermaid-svg-iTjnFq1qjKKwmLCg .messageText{fill:#333;stroke:#333}#mermaid-svg-iTjnFq1qjKKwmLCg .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-iTjnFq1qjKKwmLCg .labelText,#mermaid-svg-iTjnFq1qjKKwmLCg .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-iTjnFq1qjKKwmLCg .loopText,#mermaid-svg-iTjnFq1qjKKwmLCg .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-iTjnFq1qjKKwmLCg .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-iTjnFq1qjKKwmLCg .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-iTjnFq1qjKKwmLCg .noteText,#mermaid-svg-iTjnFq1qjKKwmLCg .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-iTjnFq1qjKKwmLCg .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-iTjnFq1qjKKwmLCg .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-iTjnFq1qjKKwmLCg .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-iTjnFq1qjKKwmLCg .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-iTjnFq1qjKKwmLCg .section{stroke:none;opacity:0.2}#mermaid-svg-iTjnFq1qjKKwmLCg .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-iTjnFq1qjKKwmLCg .section2{fill:#fff400}#mermaid-svg-iTjnFq1qjKKwmLCg .section1,#mermaid-svg-iTjnFq1qjKKwmLCg .section3{fill:#fff;opacity:0.2}#mermaid-svg-iTjnFq1qjKKwmLCg .sectionTitle0{fill:#333}#mermaid-svg-iTjnFq1qjKKwmLCg .sectionTitle1{fill:#333}#mermaid-svg-iTjnFq1qjKKwmLCg .sectionTitle2{fill:#333}#mermaid-svg-iTjnFq1qjKKwmLCg .sectionTitle3{fill:#333}#mermaid-svg-iTjnFq1qjKKwmLCg .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-iTjnFq1qjKKwmLCg .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-iTjnFq1qjKKwmLCg .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-iTjnFq1qjKKwmLCg .grid path{stroke-width:0}#mermaid-svg-iTjnFq1qjKKwmLCg .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-iTjnFq1qjKKwmLCg .task{stroke-width:2}#mermaid-svg-iTjnFq1qjKKwmLCg .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-iTjnFq1qjKKwmLCg .taskText:not([font-size]){font-size:11px}#mermaid-svg-iTjnFq1qjKKwmLCg .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-iTjnFq1qjKKwmLCg .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-iTjnFq1qjKKwmLCg .task.clickable{cursor:pointer}#mermaid-svg-iTjnFq1qjKKwmLCg .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-iTjnFq1qjKKwmLCg .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-iTjnFq1qjKKwmLCg .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-iTjnFq1qjKKwmLCg .taskText0,#mermaid-svg-iTjnFq1qjKKwmLCg .taskText1,#mermaid-svg-iTjnFq1qjKKwmLCg .taskText2,#mermaid-svg-iTjnFq1qjKKwmLCg .taskText3{fill:#fff}#mermaid-svg-iTjnFq1qjKKwmLCg .task0,#mermaid-svg-iTjnFq1qjKKwmLCg .task1,#mermaid-svg-iTjnFq1qjKKwmLCg .task2,#mermaid-svg-iTjnFq1qjKKwmLCg .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-iTjnFq1qjKKwmLCg .taskTextOutside0,#mermaid-svg-iTjnFq1qjKKwmLCg .taskTextOutside2{fill:#000}#mermaid-svg-iTjnFq1qjKKwmLCg .taskTextOutside1,#mermaid-svg-iTjnFq1qjKKwmLCg .taskTextOutside3{fill:#000}#mermaid-svg-iTjnFq1qjKKwmLCg .active0,#mermaid-svg-iTjnFq1qjKKwmLCg .active1,#mermaid-svg-iTjnFq1qjKKwmLCg .active2,#mermaid-svg-iTjnFq1qjKKwmLCg .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-iTjnFq1qjKKwmLCg .activeText0,#mermaid-svg-iTjnFq1qjKKwmLCg .activeText1,#mermaid-svg-iTjnFq1qjKKwmLCg .activeText2,#mermaid-svg-iTjnFq1qjKKwmLCg .activeText3{fill:#000 !important}#mermaid-svg-iTjnFq1qjKKwmLCg .done0,#mermaid-svg-iTjnFq1qjKKwmLCg .done1,#mermaid-svg-iTjnFq1qjKKwmLCg .done2,#mermaid-svg-iTjnFq1qjKKwmLCg .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-iTjnFq1qjKKwmLCg .doneText0,#mermaid-svg-iTjnFq1qjKKwmLCg .doneText1,#mermaid-svg-iTjnFq1qjKKwmLCg .doneText2,#mermaid-svg-iTjnFq1qjKKwmLCg .doneText3{fill:#000 !important}#mermaid-svg-iTjnFq1qjKKwmLCg .crit0,#mermaid-svg-iTjnFq1qjKKwmLCg .crit1,#mermaid-svg-iTjnFq1qjKKwmLCg .crit2,#mermaid-svg-iTjnFq1qjKKwmLCg .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-iTjnFq1qjKKwmLCg .activeCrit0,#mermaid-svg-iTjnFq1qjKKwmLCg .activeCrit1,#mermaid-svg-iTjnFq1qjKKwmLCg .activeCrit2,#mermaid-svg-iTjnFq1qjKKwmLCg .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-iTjnFq1qjKKwmLCg .doneCrit0,#mermaid-svg-iTjnFq1qjKKwmLCg .doneCrit1,#mermaid-svg-iTjnFq1qjKKwmLCg .doneCrit2,#mermaid-svg-iTjnFq1qjKKwmLCg .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-iTjnFq1qjKKwmLCg .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-iTjnFq1qjKKwmLCg .milestoneText{font-style:italic}#mermaid-svg-iTjnFq1qjKKwmLCg .doneCritText0,#mermaid-svg-iTjnFq1qjKKwmLCg .doneCritText1,#mermaid-svg-iTjnFq1qjKKwmLCg .doneCritText2,#mermaid-svg-iTjnFq1qjKKwmLCg .doneCritText3{fill:#000 !important}#mermaid-svg-iTjnFq1qjKKwmLCg .activeCritText0,#mermaid-svg-iTjnFq1qjKKwmLCg .activeCritText1,#mermaid-svg-iTjnFq1qjKKwmLCg .activeCritText2,#mermaid-svg-iTjnFq1qjKKwmLCg .activeCritText3{fill:#000 !important}#mermaid-svg-iTjnFq1qjKKwmLCg .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-iTjnFq1qjKKwmLCg g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-iTjnFq1qjKKwmLCg g.classGroup text .title{font-weight:bolder}#mermaid-svg-iTjnFq1qjKKwmLCg g.clickable{cursor:pointer}#mermaid-svg-iTjnFq1qjKKwmLCg g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-iTjnFq1qjKKwmLCg g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-iTjnFq1qjKKwmLCg .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-iTjnFq1qjKKwmLCg .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-iTjnFq1qjKKwmLCg .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-iTjnFq1qjKKwmLCg .dashed-line{stroke-dasharray:3}#mermaid-svg-iTjnFq1qjKKwmLCg #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-iTjnFq1qjKKwmLCg #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-iTjnFq1qjKKwmLCg #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-iTjnFq1qjKKwmLCg #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-iTjnFq1qjKKwmLCg #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-iTjnFq1qjKKwmLCg #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-iTjnFq1qjKKwmLCg #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-iTjnFq1qjKKwmLCg #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-iTjnFq1qjKKwmLCg .commit-id,#mermaid-svg-iTjnFq1qjKKwmLCg .commit-msg,#mermaid-svg-iTjnFq1qjKKwmLCg .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-iTjnFq1qjKKwmLCg .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-iTjnFq1qjKKwmLCg .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-iTjnFq1qjKKwmLCg g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-iTjnFq1qjKKwmLCg g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-iTjnFq1qjKKwmLCg g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-iTjnFq1qjKKwmLCg g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-iTjnFq1qjKKwmLCg g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-iTjnFq1qjKKwmLCg g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-iTjnFq1qjKKwmLCg .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-iTjnFq1qjKKwmLCg .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-iTjnFq1qjKKwmLCg .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-iTjnFq1qjKKwmLCg .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-iTjnFq1qjKKwmLCg .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-iTjnFq1qjKKwmLCg .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-iTjnFq1qjKKwmLCg .edgeLabel text{fill:#333}#mermaid-svg-iTjnFq1qjKKwmLCg .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-iTjnFq1qjKKwmLCg .node circle.state-start{fill:black;stroke:black}#mermaid-svg-iTjnFq1qjKKwmLCg .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-iTjnFq1qjKKwmLCg #statediagram-barbEnd{fill:#9370db}#mermaid-svg-iTjnFq1qjKKwmLCg .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-iTjnFq1qjKKwmLCg .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-iTjnFq1qjKKwmLCg .statediagram-state .divider{stroke:#9370db}#mermaid-svg-iTjnFq1qjKKwmLCg .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-iTjnFq1qjKKwmLCg .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-iTjnFq1qjKKwmLCg .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-iTjnFq1qjKKwmLCg .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-iTjnFq1qjKKwmLCg .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-iTjnFq1qjKKwmLCg .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-iTjnFq1qjKKwmLCg .note-edge{stroke-dasharray:5}#mermaid-svg-iTjnFq1qjKKwmLCg .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-iTjnFq1qjKKwmLCg .error-icon{fill:#522}#mermaid-svg-iTjnFq1qjKKwmLCg .error-text{fill:#522;stroke:#522}#mermaid-svg-iTjnFq1qjKKwmLCg .edge-thickness-normal{stroke-width:2px}#mermaid-svg-iTjnFq1qjKKwmLCg .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-iTjnFq1qjKKwmLCg .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-iTjnFq1qjKKwmLCg .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-iTjnFq1qjKKwmLCg .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-iTjnFq1qjKKwmLCg .marker{fill:#333}#mermaid-svg-iTjnFq1qjKKwmLCg .marker.cross{stroke:#333} :root { --mermaid-font-family: "trebuchet ms", verdana, arial;}</style> <style>#mermaid-svg-iTjnFq1qjKKwmLCg { color: rgba(0, 0, 0, 0.75); font: ; }</style>
微信開發者工具-開發
指南
框架
組件
API
云開發
服務端
擴展能力
更新日志

(2):總結:
小程式的主要開發語言是 JavaScript ,小程式的開發同普通的網頁開發相比有很大的相似性,對于前端開發者而言,從網頁開發遷移到小程式的開發成本并不高,但是二者還是有些許區別的,
? 網頁開發渲染執行緒和腳本執行緒是互斥的,這也是為什么長時間的腳本運行可能會導致頁面失去回應,而在小程式中,二者是分開的,分別運行在不同的執行緒中,網頁開發者可以使用到各種瀏覽器暴露出來的 DOM API,進行 DOM 選中和操作,而如上文所述,小程式的邏輯層和渲染層是分開的,邏輯層運行在 JSCore 中,并沒有一個完整瀏覽器物件,因而缺少相關的DOM API和BOM API,這一區別導致了前端開發非常熟悉的一些庫,例如 jQuery、 Zepto 等,在小程式中是無法運行的,同時 JSCore 的環境同 NodeJS 環境也是不盡相同,所以一些 NPM 的包在小程式中也是無法運行的,


三、小程式的基本語法

1:基本語法

1-1 資料系結

<view> {{ message }} </view>
//輸出 hello MINA!
 Page({
data: {
message: 'Hello MINA!'
}
})

1-2 組件屬性

<view id="item-{{id}}"> </view>
Page({
data: {
id: 0
}
})

1-3 bool型別

<checkbox checked="{{bool}}"> </checkbox>

Page({
data: {
bool: true 
}
})

## 2:運算 ### 2-1 三元運算式 ```c oBth.οnclick=function(){ oUl.style.display == "block" ? oUl.style.display="none" : oUl.style.display="block" } ``` 解釋:如果oUl.style.display == "block"是真的,就執行oUl.style.display="none" 否則就執行:后面的 oUl.style.display="block"

2-2 算數運算

<view> {{a * b}} + {{c}} + 5 </view>
//1*2+3+5=10
Page({
data: {
a: 1,
b: 2,
c: 3
}
})

2-3 邏輯判斷

<view wx:if="{{length > 5}}"> </view>

2-4 字串運算

<view>{{"hello" + name}}</view>
Page({
data:{
name: 'MINA'
}
})

## 3: 渲染 ## 3-1 串列渲染 ![在這里插入圖片描述](https://img-blog.csdnimg.cn/20201120114656842.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3p6eGhhaGFoYQ==,size_16,color_FFFFFF,t_70#pic_center) ```c {{index}}: {{item.message}}
```c
Page({
data: {
array: [{
id:0,
message: 'first',
}, {
id:1,
message: 'second'
}]
}
})
<block wx:for="{{[1, 2, 3]}}" wx:key="*this" >
<view> {{index}}: </view>
<view> {{item}} </view>
</block>
染?個包含多節點的結構塊block最終不會變成真正的dom元素

3-2 條件渲染

在框架中,使? wx:if="{{condition}}" wx:if="{{condition}}" 來判斷是否需要渲染該代碼塊:

<view wx:if="{{false}}">1</view>
<view wx:elif="{{true}}">2</view>
<view wx:else>3</view>
<view hidden="{{condition}}"> True </view>

類似 wx:if wx:if
頻繁切換? hidden


## 4:?程式中系結事件 ### 4-1 wxml ?程式中系結事件,通過bind關鍵字來實作,如 bindtap bindtap bindinput bindinput bindchange bindchange 不同的組件?持不同的事件,具體看組件的說明即可, ```c ``` ```c Page({ // 系結的事件 handleInput: function(res) { console.log(res); } }) ``` 注意: 1.系結事件時不能帶引數不能帶括號以下為錯誤寫法;

2:事件傳值通過標簽?定義屬性的?式和 valu


bindinput="handleInput(引數) 錯誤的表達
<input bindinput="handleInput(引數)" data-item="100" />

3:事件觸發時獲取資料

handleInput: function(e) {
// {item:100}
console.log(e.currentTarget.dataset)
// 輸入框的值
console.log(e.detail.value);
}

5: wxss 微信小程式樣式

簡介:WXSS( WeiXin Style Sheets WeiXin Style Sheets )是?套樣式語?,?于描述 WXML WXML 的組件樣式,
與CSS相?,WXSS擴展的特性有:
回應式?度單位rpx rpx
樣式導?

5-1 尺?單位

rpx rpx (responsivepixel):可以根據螢屏寬度進??適應,規定螢屏寬為 750rpx 750rpx ,如在
iPhone6 iPhone6 上,螢屏寬度為 375px 375px ,共有750個物理像素,則 750rpx = 375px = 750 750rpx = 375px = 750物理像 物理像素 ,1rpx = 0.5px = 11rpx = 0.5px = 1物理像素 物理像素 ,
在這里插入圖片描述

5-2 選擇器

選擇器 樣例 樣例描述
|
全域樣式與區域樣式
定義在 app.wxss 中的樣式為全域樣式,作用于每一個頁面,在 page 的 wxss 檔案中定義的樣式為區域樣式,只作用在對應的頁面,并會覆寫 app.wxss 中相同的選擇器,

在這里插入圖片描述

5-3 ?程式中使?less

原??程式不?持 less less ,其他基于?程式的框架?體都?持,如 wepy wepy , mpvue mpvue , taro taro 等,
但是僅僅因為?個less功能,?去引??個框架,肯定是不可取的,因此可以?以下?式來實作
1.編輯器是 vscode vscode
2.安裝插件 easy less easy

在這里插入圖片描述


6: 組件

6-1 常用組件

組件組件
viewbutton
textimage
rich- -textnavigator
swipericon
radiocheckbox

view:代替原來的 div 標簽

<view hover-class="h-class">
點擊我試試
</view>

text :
1.?本標簽
2.只能嵌套text
3.?按?字可以復制(只有該標簽有這個功能)
4.可以對空格回?進?編碼
在這里插入圖片描述

<text selectable="{{false}}" decode="{{false}}">&nbsp;</text>

image:
1.圖?標簽,image組件默認寬度320px、?度240px
2.?持懶加載
在這里插入圖片描述
mode有13種模式,其中4種是縮放模式,9種是裁剪模式,
在這里插入圖片描述
swiper/swiper-item:
在這里插入圖片描述
navigator:
在這里插入圖片描述
rich-text:
可以將字串決議成對應標簽,類似vue中v- -html 功能
其中rich-text節點中nodes系結的就是我們的內容
在這里插入圖片描述

// 1 index.wxml 加載 節點陣列
<rich-text nodes="{{nodes}}" bindtap="tap"></rich-text>
// 2 加載 字串
<rich-text nodes='<img
src="https://developers.weixin.qq.com/miniprogram/assets/images/head_global_z_@all.p
ng" alt="">'></rich-text>
// index.js
Page({
data: {
nodes: [{
name: 'div',
attrs: {
class: 'div_class',
style: 'line-height: 60px; color: red;'
},
children: [{
type: 'text',
text: 'Hello&nbsp;World!'
}]
}]
},
tap() {
console.log('tap')
}
})

button
在這里插入圖片描述
在這里插入圖片描述
opem-type
在這里插入圖片描述

<button
type="default"
size="{{defaultSize}}"
loading="{{loading}}"
plain="{{plain}}"
>
</button>

icon:
在這里插入圖片描述

Page({
data: {
iconSize: [20, 30, 40, 50, 60, 70],
iconType: [
'success', 'success_no_circle', 'info', 'warn', 'waiting', 'cancel',
'download', 'search', 'clear'
],
iconColor: [
'red', 'orange', 'yellow', 'green', 'rgb(0,255,255)', 'blue', 'purple'
],
}
})
<view class="group">
<block wx:for="{{iconSize}}">
<icon type="success" size="{{item}}"/>
</block>
</view>
<view class="group">
<block wx:for="{{iconType}}">
<icon type="{{item}}" size="40"/>
</block>
</view>
<view class="group">
<block wx:for="{{iconColor}}">
<icon type="success" size="40" color="{{item}}"/>
</block>
</view>

radio:
在這里插入圖片描述
checkbox :
在這里插入圖片描述

6-2 自定義組件

自定義組件
從小程式基礎庫版本 1.6.3 開始,小程式支持簡潔的組件化編程,所有自定義組件相關特性都需要基礎庫版本 1.6.3 或更高,

開發者可以將頁面內的功能模塊抽象成自定義組件,以便在不同的頁面中重復使用;也可以將復雜的頁面拆分成多個低耦合的模塊,有助于代碼維護,自定義組件在使用時與基礎組件非常相似,

創建自定義組件
類似于頁面,一個自定義組件由 json wxml wxss js 4個檔案組成,要撰寫一個自定義組件,首先需要在 json 檔案中進行自定義組件宣告(將 component 欄位設為 true 可將這一組檔案設為自定義組件):

{
  "component": true
}

同時,還要在 wxml 檔案中撰寫組件模板,在 wxss 檔案中加入組件樣式,它們的寫法與頁面的寫法類似,具體細節和注意事項參見 組件模板和樣式 ,

代碼示例:

<!-- 這是自定義組件的內部WXML結構 -->
<view class="inner">
  {{innerText}}
</view>
<slot></slot>
/* 這里的樣式只應用于這個自定義組件 */
.inner {
  color: red;
}

注意:在組件wxss中不應使用ID選擇器、屬性選擇器和標簽名選擇器,

在自定義組件的 js 檔案中,需要使用 Component() 來注冊組件,并提供組件的屬性定義、內部資料和自定義方法,

組件的屬性值和內部資料將被用于組件 wxml 的渲染,其中,屬性值是可由組件外部傳入的,更多細節參見 Component構造器 ,

代碼示例:

Component({
  properties: {
    // 這里定義了innerText屬性,屬性值可以在組件使用時指定
    innerText: {
      type: String,
      value: 'default value',
    }
  },
  data: {
    // 這里是一些組件內部資料
    someData: {}
  },
  methods: {
    // 這里是一個自定義方法
    customMethod: function(){}
  }
})
使用自定義組件
使用已注冊的自定義組件前,首先要在頁面的 json 檔案中進行參考宣告,此時需要提供每個自定義組件的標簽名和對應的自定義組件檔案路徑:

{
  "usingComponents": {
    "component-tag-name": "path/to/the/custom/component"
  }
}

這樣,在頁面的 wxml 中就可以像使用基礎組件一樣使用自定義組件,節點名即自定義組件的標簽名,節點屬性即傳遞給組件的屬性值,

開發者工具 1.02.1810190 及以上版本支持在 app.json 中宣告 usingComponents 欄位,在此處宣告的自定義組件視為全域自定義組件,在小程式內的頁面或自定義組件中可以直接使用而無需再宣告,

代碼示例:

在開發者工具中預覽效果

<view>
  <!-- 以下是對一個自定義組件的參考 -->
  <component-tag-name inner-text="Some text"></component-tag-name>
</view>

自定義組件的 wxml 節點結構在與資料結合之后,將被插入到參考位置內,

細節注意事項:
一些需要注意的細節:

因為 WXML 節點標簽名只能是小寫字母、中劃線和下劃線的組合,所以自定義組件的標簽名也只能包含這些字符,
自定義組件也是可以參考自定義組件的,參考方法類似于頁面參考自定義組件的方式(使用 usingComponents 欄位),
自定義組件和頁面所在專案根目錄名不能以“wx-”為前綴,否則會報錯,
注意,是否在頁面檔案中使用 usingComponents 會使得頁面的 this 物件的原型稍有差異,包括:

使用 usingComponents 頁面的原型與不使用時不一致,即 Object.getPrototypeOf(this) 結果不同,
使用 usingComponents 時會多一些方法,如 selectComponent ,
出于性能考慮,使用 usingComponents 時, setData 內容不會被直接深復制,即 this.setData({ field: obj }) 后 this.data.field === obj ,(深復制會在這個值被組件間傳遞時發生,)
如果頁面比較復雜,新增或洗掉 usingComponents 定義段時建議重新測驗一下,

<hr style=" border:solid; width:100px; height:1px;" color=#000000 size=1">
# 學習時間:

<font color=#999AAA >提示:這里可以添加計劃學習的時間
例如:
1、 周一至周五晚上 7 點—晚上9點
2、 周六上午 9 點-上午 11 點
3、 周日下午 3 點-下午 6 點

四 :頁面生命周期圖

在這里插入圖片描述
在這里插入圖片描述

轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/226241.html

標籤:其他

上一篇:手撕前端面試代碼題

下一篇:Nginx專題:反向代理與負載均衡

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • vue移動端上拉加載

    可能做得過于簡單或者比較low,請各位大佬留情,一起探討技術 ......

    uj5u.com 2020-09-10 04:38:07 more
  • 優美網站首頁,頂部多層導航

    一個個人用的瀏覽器首頁,可以把一下常用的網站放在這里,平常打開會比較方便。 第一步,HTML代碼 <script src=https://www.cnblogs.com/szharf/p/"js/jquery-3.4.1.min.js"></script> <div id="navigate"> <ul> <li class="labels labels_1"> ......

    uj5u.com 2020-09-10 04:38:47 more
  • 頁面為要加<!DOCTYPE html>

    最近因為寫一個js函式,需要用到$(window).height(); 由于手寫demo的時候,過于自信,其實對前端方面的認識也不夠體系,用文本檔案直接敲出來的html代碼,第一行沒有加上<!DOCTYPE html> 導致了$(window).height();的結果直接是整個document的高 ......

    uj5u.com 2020-09-10 04:38:52 more
  • WordPress網站程式手動升級要做好資料備份

    WordPress博客網站程式在進行升級前,必須要做好網站資料的備份,這個問題良家佐言是遇見過的;在剛開始接觸WordPress博客程式的時候,因為升級問題和博客網站的修改的一些嘗試,良家佐言是吃盡了苦頭。因為購買的是西部數碼的空間和域名,每當佐言把自己的WordPress博客網站搞到一塌糊涂的時候 ......

    uj5u.com 2020-09-10 04:39:30 more
  • WordPress程式不能升級為5.4.2版本的原因

    WordPress是一款個人博客系統,受到英文博客愛好者和中文博客愛好者的追捧,并逐步演化成一款內容管理系統軟體;它是使用PHP語言和MySQL資料庫開發的,用戶可以在支持PHP和MySQL資料庫的服務器上使用自己的博客。每一次WordPress程式的更新,就會牽動無數WordPress愛好者的心, ......

    uj5u.com 2020-09-10 04:39:49 more
  • 使用CSS3的偽元素進行首字母下沉和首行改變樣式

    網頁中常見的一種效果,首字改變樣式或者首行改變樣式,效果如下圖。 代碼: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, ......

    uj5u.com 2020-09-10 04:40:09 more
  • 關于a標簽的講解

    什么是a標簽? <a> 標簽定義超鏈接,用于從一個頁面鏈接到另一個頁面。 <a> 元素最重要的屬性是 href 屬性,它指定鏈接的目標。 a標簽的語法格式:<a href=https://www.cnblogs.com/summerxbc/p/"指定要跳轉的目標界面的鏈接">需要展示給用戶看見的內容</a> a標簽 在所有瀏覽器中,鏈接的默認外觀如下: 未被訪問的鏈接帶 ......

    uj5u.com 2020-09-10 04:40:11 more
  • 前端輪播圖

    在需要輪播的頁面是引入swiper.min.js和swiper.min.css swiper.min.js地址: 鏈接:https://pan.baidu.com/s/15Uh516YHa4CV3X-RyjEIWw 提取碼:4aks swiper.min.css地址 鏈接:https://pan.b ......

    uj5u.com 2020-09-10 04:40:13 more
  • 如何設定html中的背景圖片(全屏顯示,且不拉伸)

    1 <style>2 body{background-image:url(https://uploadbeta.com/api/pictures/random/?key=BingEverydayWallpaperPicture); 3 background-size:cover;background ......

    uj5u.com 2020-09-10 04:40:16 more
  • Java學習——HTML詳解(上)

    HTML詳解 初識HTML Hyper Text Markup Language(超文本標記語言) 1 <!--DOCTYPE:告訴瀏覽器我們要使用什么規范--> 2 <!DOCTYPE html> 3 <html lang="en"> 4 <head> 5 <!--meta 描述性的標簽,描述一些 ......

    uj5u.com 2020-09-10 04:40:33 more
最新发布
  • 我的第一個NPM包:panghu-planebattle-esm(胖虎飛機大戰)使用說明

    好家伙,我的包終于開發完啦 歡迎使用胖虎的飛機大戰包!! 為你的主頁添加色彩 這是一個有趣的網頁小游戲包,使用canvas和js開發 使用ES6模塊化開發 效果圖如下: (覺得圖片太sb的可以自己改) 代碼已開源!! Git: https://gitee.com/tang-and-han-dynas ......

    uj5u.com 2023-04-20 07:59:23 more
  • 生產事故-走近科學之消失的JWT

    入職多年,面對生產環境,盡管都是小心翼翼,慎之又慎,還是難免捅出簍子。輕則滿頭大汗,面紅耳赤。重則系統停擺,損失資金。每一個生產事故的背后,都是寶貴的經驗和教訓,都是專案成員的血淚史。為了更好地防范和遏制今后的各類事故,特開此專題,長期更新和記錄大大小小的各類事故。有些是親身經歷,有些是經人耳傳口授 ......

    uj5u.com 2023-04-18 07:55:04 more
  • 記錄--Canvas實作打飛字游戲

    這里給大家分享我在網上總結出來的一些知識,希望對大家有所幫助 打開游戲界面,看到一個畫面簡潔、卻又富有挑戰性的游戲。螢屏上,有一個白色的矩形框,里面不斷下落著各種單詞,而我需要迅速地輸入這些單詞。如果我輸入的單詞與螢屏上的單詞匹配,那么我就可以獲得得分;如果我輸入的單詞錯誤或者時間過長,那么我就會輸 ......

    uj5u.com 2023-04-04 08:35:30 more
  • 了解 HTTP 看這一篇就夠

    在學習網路之前,了解它的歷史能夠幫助我們明白為何它會發展為如今這個樣子,引發探究網路的興趣。下面的這張圖片就展示了“互聯網”誕生至今的發展歷程。 ......

    uj5u.com 2023-03-16 11:00:15 more
  • 藍牙-低功耗中心設備

    //11.開啟藍牙配接器 openBluetoothAdapter //21.開始搜索藍牙設備 startBluetoothDevicesDiscovery //31.開啟監聽搜索藍牙設備 onBluetoothDeviceFound //30.停止監聽搜索藍牙設備 offBluetoothDevi ......

    uj5u.com 2023-03-15 09:06:45 more
  • canvas畫板(滑鼠和觸摸)

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>canves</title> <style> #canvas { cursor:url(../images/pen.png),crosshair; } #canvasdiv{ bo ......

    uj5u.com 2023-02-15 08:56:31 more
  • 手機端H5 實作自定義拍照界面

    手機端 H5 實作自定義拍照界面也可以使用 MediaDevices API 和 <video> 標簽來實作,和在桌面端做法基本一致。 首先,使用 MediaDevices.getUserMedia() 方法獲取攝像頭媒體流,并將其傳遞給 <video> 標簽進行渲染。 接著,使用 HTML 的 < ......

    uj5u.com 2023-01-12 07:58:22 more
  • 記錄--短視頻滑動播放在 H5 下的實作

    這里給大家分享我在網上總結出來的一些知識,希望對大家有所幫助 短視頻已經無數不在了,但是主體還是使用 app 來承載的。本文講述 H5 如何實作 app 的視頻滑動體驗。 無聲勝有聲,一圖頂百辯,且看下圖: 網址鏈接(需在微信或者手Q中瀏覽) 從上圖可以看到,我們主要實作的功能也是本文要講解的有: ......

    uj5u.com 2023-01-04 07:29:05 more
  • 一文讀懂 HTTP/1 HTTP/2 HTTP/3

    從 1989 年萬維網(www)誕生,HTTP(HyperText Transfer Protocol)經歷了眾多版本迭代,WebSocket 也在期間萌芽。1991 年 HTTP0.9 被發明。1996 年出現了 HTTP1.0。2015 年 HTTP2 正式發布。2020 年 HTTP3 或能正... ......

    uj5u.com 2022-12-24 06:56:02 more
  • 【HTML基礎篇002】HTML之form表單超詳解

    ??一、form表單是什么

    ??二、form表單的屬性

    ??三、input中的各種Type屬性值

    ??四、標簽 ......

    uj5u.com 2022-12-18 07:17:06 more