日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

微信小程序 基础3【组件化开发、自定义组件、全栈开发、使用Express】

發(fā)布時(shí)間:2024/9/30 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 微信小程序 基础3【组件化开发、自定义组件、全栈开发、使用Express】 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

視頻地址:

https://www.bilibili.com/video/BV1cW411T7t6? 【2018】學(xué)做小程序- 清華大學(xué)

https://www.bilibili.com/video/BV1M7411w7ez? ?清華大學(xué)- 學(xué)做小程序(基礎(chǔ)+實(shí)戰(zhàn))

?

視頻-項(xiàng)目-源碼:https://pan.baidu.com/s/1qJ_8S0yL9ES0kl5t2AfSvg

如果 百度網(wǎng)盤 鏈接 失效,可以聯(lián)系我。【QQ 386335886】

?【p01 - p16】:https://blog.csdn.net/weixin_44949135/article/details/105087975

?【p17 - p28】:https://blog.csdn.net/weixin_44949135/article/details/105198450

?【p29 - p41】:https://blog.csdn.net/weixin_44949135/article/details/105308817

希望能幫到大家,hhh~? ? ? 如有錯(cuò)誤,歡迎指正~


?目? ?錄

p29 --- 組件化開發(fā)

項(xiàng)目代碼:?

p30 --- 什么是組件

組件定義

舉例:圖片查看器?

WEB方式 設(shè)計(jì) 圖片查看器

p31 --- 定義一個(gè)組件

組建的特點(diǎn)(高內(nèi)聚、可復(fù)用)

如何定義組件

p32 --- 小程序中的組件

p33 --- 構(gòu)建和引入自定義組件?

自定義組件的構(gòu)成以及使用?

component 構(gòu)造器

從業(yè)務(wù)需求到組件定義

p34 --- 自定義組件的設(shè)計(jì)

詳解property和data?

為 組件 添加 slot

設(shè)置 slot?

組件事件

p35 --- 小程序全棧開發(fā)?

服務(wù)端開發(fā)簡(jiǎn)介

什么是Web Server?

Web Server的核心概念

介紹Express

p36 --- 使用 Express 搭建 WebServer

安裝Express

npm install express --save? ? ? 【安裝超時(shí)!!!】?

搭建一個(gè)基礎(chǔ)的Web Server?

如何用Express去實(shí)現(xiàn)一個(gè)最基礎(chǔ)的WebServer

服務(wù)端的模塊化開發(fā)

在node.js里 實(shí)現(xiàn) 模塊化開發(fā) :

p37 --- 結(jié)合騰訊云開發(fā)小程序

p38 --- 路由以及自定義中間件

p39 ---?基于REST的API設(shè)計(jì)

Rest的基本概念

RESTful API關(guān)鍵點(diǎn)

wxtodo項(xiàng)目中的API設(shè)計(jì)

p40 --- 數(shù)據(jù)以及文件存儲(chǔ)?

p41 ---?wxtodo小程序的在線化改造


p29 --- 組件化開發(fā)

能用眾力,則無敵于天下矣;能用眾智,則無畏于圣人矣。------?孫武

  • wxtodo項(xiàng)目
  • 什么是組件
  • 如何定義一個(gè)組件
  • 小程序中的組件
  • 構(gòu)建和引入自定義組件
  • 自定義組件的設(shè)計(jì)

項(xiàng)目代碼:?

https://github.com/zhongkai/wxtodo-client? ? ? ?master分支

p30 --- 什么是組件

組件定義

?組件就是以某種方式對(duì)業(yè)務(wù)邏輯功能進(jìn)行封裝

舉例:圖片查看器?

WEB方式 設(shè)計(jì) 圖片查看器

p31 --- 定義一個(gè)組件

組建的特點(diǎn)(高內(nèi)聚、可復(fù)用)

不管是類還是組件,都要告訴針對(duì)于實(shí)例或針對(duì)于組件渲染的結(jié)果應(yīng)該是以什么樣的方式來呈現(xiàn)。

這種告知行為是一種配置。

?

如何定義組件

當(dāng)用戶去點(diǎn)擊圖片時(shí),會(huì)告知組件外部,發(fā)生了這樣一個(gè)點(diǎn)擊行為。

點(diǎn)擊行為的目的,并不由組件決定,而是由組件外部的具體業(yè)務(wù)決定。?

p32 --- 小程序中的組件

可通過配置事件兩種方式,定義一個(gè)具體組件。?

p33 --- 構(gòu)建和引入自定義組件?

  • 自定義組件的構(gòu)成以及使用
  • Component構(gòu)造器
  • 從業(yè)務(wù)需求到組件定義

自定義組件的構(gòu)成以及使用

復(fù)用同一個(gè)待辦事項(xiàng)的組件。

待辦事項(xiàng)組件,位于components目錄下??item目錄中。

頁面想展示組件,需要在json文件中配置usingComponents屬性值,指明要用的組件(item)??及???組件所在的位置。

通過屬性名(即?item),確定組件在界面中(index.wxml)中?以什么樣的標(biāo)簽名做展示。

在history文件中,也有相同的配置。?

js里 定義了 相關(guān)的屬性值、內(nèi)部數(shù)據(jù)和相關(guān)的方法。
json里 定義了 相關(guān)的配置文件。
wxmI是對(duì)組件界面的描述。
wxss是對(duì)組件樣式的描述。

component 構(gòu)造器

properties? ? ? ? ?:外部傳進(jìn)來的屬性值。
data? ? ? ? ? ? ? ? ? :數(shù)據(jù)。
attached?? ? ? ? ? :組件被加載時(shí)觸發(fā)(即 組件關(guān)聯(lián)到界面時(shí) 觸發(fā))。
detached? ? ? ? ???:把組件從界面中移除時(shí) 觸發(fā)。
組件自定義方法:放在了method()內(nèi)部。

從業(yè)務(wù)需求到組件定義

  • Item可根據(jù)數(shù)據(jù)源 顯示 三種不同類型的Item。

【快速添加待辦事項(xiàng)的Item;詳細(xì)添加待辦事項(xiàng)的Item;作為歷史記錄展示的Item。】

  • Item可刪除。
  • 首頁中的Item,可以進(jìn)行 針對(duì)狀態(tài)的toggle操作。

【在歷史記錄中不需要有針對(duì)狀態(tài)的toggle操作。】

  • 歷史頁中的Item可以根據(jù)操作類型的不同,展示不同的樣式。
  • content:屬性最主要的內(nèi)容的定義。
  • tags:標(biāo)簽。
  • extra:備注信息。
  • finished:wxtodo所處狀態(tài)。
  • action:針對(duì)歷史記錄。?

p34 --- 自定義組件的設(shè)計(jì)

  • 詳解property和data
  • 為組件添加slot
  • 組件事件

詳解property和data?

組件中同樣有關(guān)于數(shù)據(jù)分離的約定。data---properties

  • properties:主要控制 外部界面 傳遞給 組件的屬性。控制組件具體展示。
  • data:維護(hù)組件內(nèi)部數(shù)據(jù)。【? ?data: {collapsed: true //控制備注信息是否展開}? ?】

collapsed 能否 放在 properties中 ?

  • 可以,但是 會(huì) 增加 外部界面 控制 邏輯的復(fù)雜度。【data內(nèi)部維護(hù),外部可以不維護(hù)。】

如何判斷 組件 應(yīng)放在 properties 還是 data 中 ?

  • 一個(gè)簡(jiǎn)單原則就是:檢查屬性 是否 只維護(hù)在組件內(nèi)部。?

為 組件 添加 slot

組件 一般 嵌入在 界面內(nèi)部。

組件外部的界面 希望控制 組件內(nèi)部的內(nèi)容:可以,需要用slot。


代碼運(yùn)行時(shí):
<view></ view>標(biāo)簽 會(huì)替換 <slot></ slot>標(biāo)簽 具體位置。
即,實(shí)現(xiàn)了在頁面中控制組件中的具體內(nèi)容。?

slot的作用 就是:引用模板時(shí),給模板中定義了<slot></slot>的位置傳入數(shù)據(jù)。

設(shè)置 slot?

?

組件事件

在 item組件內(nèi)部 實(shí)現(xiàn) 對(duì)應(yīng)的自定義事件。

  • index.wxml :binditemremove="onItemRemove"回調(diào)方法,監(jiān)聽事件。
  • item.wxml :catchtap="removeTodo"設(shè)置事件,監(jiān)聽 點(diǎn)擊操作。
  • item.js :removeTodo()方法 實(shí)現(xiàn)對(duì)應(yīng)的事件。
  • 關(guān)于behavior和組件間關(guān)系? ?這兩個(gè)高階知識(shí)點(diǎn),參看小程序在線文檔。

    p35 --- 小程序全棧開發(fā)?

    全棧開發(fā)是兩個(gè)維度的事情。

  • 橫向維度:要了解各種平臺(tái)、各種客戶端相關(guān)的開發(fā)技巧。
  • 縱向維度:不光要了解客戶端的開發(fā),還要了解服務(wù)端的開發(fā)。
  • 本節(jié)目的:將離線的小程序變成在線的小程序。
    我允許你走進(jìn)我的世界,但不許你在我的世界里走來走去。--- 精辟地總結(jié)了服務(wù)端的開發(fā)理念。

    本節(jié)內(nèi)容 :

  • 服務(wù)端開發(fā)簡(jiǎn)介
  • 使用Express搭建Web Server
  • 結(jié)合騰訊云開發(fā)小程序
  • 路由以及自定義中間件
  • 基于Rest的API設(shè)計(jì)
  • 數(shù)據(jù)以及文件存儲(chǔ)
  • wxtodo小程序的在線化改造
  • 服務(wù)端開發(fā)簡(jiǎn)介

    什么是Web Server?

    Web Server = 服務(wù)器

    需要服務(wù)端配合,存儲(chǔ)數(shù)據(jù)狀態(tài)。

    Web Server的核心概念

    介紹Express

    • 實(shí)例化express
    • 調(diào)用express()方法 實(shí)例化 一個(gè)web Server(即圖中的app)
    • app的get()方法:指明當(dāng)前請(qǐng)求類型。
    • get()方法的參數(shù):【路由: 調(diào)用中間件的條件;中間件方法】?

    p36 --- 使用 Express 搭建 WebServer

  • 安裝Express
  • 搭建一個(gè)基礎(chǔ)的Web Server
  • 服務(wù)端的模塊化開發(fā)
  • 安裝Express

    推薦博客:【Node.js 安裝---環(huán)境配置】

    https://blog.csdn.net/weixin_44949135/article/details/105330357

    直接在server文件夾下 新建app.js文件,編輯 就行了。

    win10,在命令行 或者 powershell,不能“vi app.js”,會(huì)報(bào)錯(cuò)。?

    npm install express --save? ? ? 【安裝超時(shí)!!!】?

    搭建一個(gè)基礎(chǔ)的Web Server?

    如何用Express去實(shí)現(xiàn)一個(gè)最基礎(chǔ)的WebServer


    ?

    ?

    服務(wù)端的模塊化開發(fā)

    在node.js和Expressed的環(huán)境中,去實(shí)現(xiàn)模塊化開發(fā)。


    ?

    在node.js里 實(shí)現(xiàn) 模塊化開發(fā)

  • 需要定義對(duì)應(yīng)的其他模塊的文件。如:lesson.js。
  • 通過modules.exports的方式 暴露出 想要暴露出的東西。
  • 在對(duì)應(yīng)的使用它的文件中,通過require方法加載對(duì)應(yīng)的模塊。
  • p37 --- 結(jié)合騰訊云開發(fā)小程序

    ?騰訊云:騰訊公司提供的云服務(wù)。server配置、相關(guān)數(shù)據(jù)庫、云存儲(chǔ)知識(shí)

    p38 --- 路由以及自定義中間件

  • 用戶登錄
  • Express中的路由
  • 自定義Express中間件
  • p39 ---?基于REST的API設(shè)計(jì)

  • Rest的基本概念
  • wxtodo項(xiàng)目中的API設(shè)計(jì)
  • Rest的基本概念

    REST [?Representational State Transfer ]? ?----->? ?資源? ?CreateReadUpdateDelete

    RESTful API關(guān)鍵點(diǎn)

    HTTP語義 - 動(dòng)詞

    • GET:查詢
    • POST:創(chuàng)建
    • PUT:更新
    • PATCH:局部更新
    • DELETE:刪除

    狀態(tài)碼

    • 200:請(qǐng)求成功,返回?cái)?shù)據(jù)。
    • 3xx:請(qǐng)求成功,但需要改變請(qǐng)求資源的方式。
    • 4xx:請(qǐng)求有錯(cuò)誤。
    • 5xx:服務(wù)器內(nèi)部錯(cuò)誤。

    錯(cuò)誤處理

    {

    ? ?error:具體信息

    }?

    返回結(jié)果

    • GET:返回資源對(duì)象列表/單個(gè)資源對(duì)象。
    • POST:返回新生成的資源對(duì)象。
    • PUT:返回修改后的完整資源對(duì)象。
    • PATCH:返回被修改的屬性。
    • DELETE:空(狀態(tài)碼204)。

    wxtodo項(xiàng)目中的API設(shè)計(jì)

    GET:/user ? 獲取當(dāng)前用戶。
    POST:/user ? 創(chuàng)建用戶(注冊(cè)用戶)。
    PATCH:/user ? 針對(duì)用戶的某項(xiàng)屬性進(jìn)行修改。

    GET:/todos ? todo項(xiàng)目可能有很多個(gè)。
    GET:/todos/id ? 獲取單個(gè)todo資源。
    POST:/todos ? 直接請(qǐng)求todos接口,創(chuàng)建todo項(xiàng)目。
    PATCH:/todos/id ? 修改id對(duì)應(yīng)的資源。
    DELETE:/todos/id ? 刪除某一個(gè)todo資源。
    BATCH

    p40 --- 數(shù)據(jù)以及文件存儲(chǔ)?

  • 結(jié)合騰訊云的數(shù)據(jù)庫存儲(chǔ)
  • 使用騰訊云的對(duì)象存儲(chǔ)來保存用戶頭像
  • ?

    COS:騰訊 存儲(chǔ) 海量文件的分布式存儲(chǔ)服務(wù)。
    ?

    p41 ---?wxtodo小程序的在線化改造

    https://github.com/zhongkai/wxtodo-client/tree/online?

  • 改造APP啟動(dòng)流程
  • 改造用戶管理
  • 改造待辦事項(xiàng)管理
  • 總結(jié)

    以上是生活随笔為你收集整理的微信小程序 基础3【组件化开发、自定义组件、全栈开发、使用Express】的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。