Uni-app基礎知識

uni-app組成和跨端原理 | uni-app官網uni-app,uniCloud,serverless,uni-app組成和跨端原理,基本語言和開發規范,編譯器,運行時(runtime),邏輯層和渲染層分離icon-default.png?t=N7T8https://uniapp.dcloud.net.cn/tutorial/1.adb連接模擬器

? ? ? ? 找到adb所在位置(一般在hbuilder安裝目錄下的 \plugins\launcher-tools\tools\adbs 下)

????????當前文件夾直接cmd

????????adb常用命令:

#查看adb連接的設備列表

adb devices

#連接本地模擬器(我這端口時mumu模擬器默認的端口)

adb connect 127.0.0.1:7555

2.uni-app項目結構介紹

├── common            # 通用的資源,如樣式、工具函數等
├── components        # 自定義組件
├── pages             # 各頁面目錄,每個頁面是一個文件夾
│   ├── index
│   │   ├── index.vue # 首頁頁面
├── static            # 靜態資源,如圖片、字體等
├── unpackage         # 打包后的文件
├── App.vue           # 應用的入口文件
├── main.js           # Vue初始化文件
├── manifest.json     # 配置應用名稱、appid、logo、版本等
├── pages.json        # 配置頁面路由、導航條、選項卡等
├── uni.scss          # 通用樣式文件
└── package.json      # npm 包管理配置文件

?2.1 main.js

????????main.js是項目的入口文件,用來初始化vue實例,定義全局屬性、組件,安裝插件

2.2 App.vue

? ? ? ? app.vue是項目的入口組件,所有頁面在此切換,用來監聽應用生命周期、編寫全局樣式、定義全局數據

2.2.1 全局樣式

<style>/*每個頁面公共css */.title{color: aqua;}
</style>
  • ?有個就近原則,如果你設置的全局樣式與某個頁面的樣式重名,全局樣式的對應屬性對該頁面不生效

2.2.2 全局數據

<script>export default {onLaunch: function() {console.log('App Launch')},onShow: function() {console.log('App Show')},onHide: function() {console.log('App Hide')},//定義全局數據globalData: {name: 'luobei',age: 18}}
</script>

? ? ? ? 頁面中獲取全局數據

<script>export default {data() {return {title: 'Hello!'}},onLoad() {//1.拿到全局數據const app = getApp()console.log(app.globalData);},methods: {}}
</script>

2.3 pages.json

? ? ? ? pages.json用來對項目進行全局配置,決定頁面的路徑、窗口樣式、導航欄、底部tabbar等

2.3.1 窗口樣式?

    "globalStyle": {"navigationBarTextStyle": "black","navigationBarTitleText": "uni-app","navigationBarBackgroundColor": "#F8F8F8","backgroundColor": "#F8F8F8"}
  • ?navigationBarTextStyle:設置導航欄上文字的顏色;
  • navigationBarTitleText:設置導航欄的標題文本;
  • navigationBarBackgroundColor:設置導航欄的背景顏色;
  • backgroundColor:設置整個頁面的背景顏色;

2.3.2 頁面路徑?

    "pages": [ //pages數組中第一項表示應用啟動頁,參考:https://uniapp.dcloud.io/collocation/pages{"path": "pages/index/index","style": {"navigationBarTitleText": "uni-app"}}],
  • 數組中的每一項表示一個頁面,包含頁面的路徑和樣式配置;
  • pages中的設置樣式的優先級在globalStyle之上;

2.3.3 底部導航欄

"tabBar": {"color": "#999999","selectedColor": "#000000","backgroundColor": "#FFFFFF","borderStyle": "black","list": [{"pagePath": "pages/index/index","text": "Home","iconPath": "static/icon-home.png","selectedIconPath": "static/icon-home-selected.png"},{"pagePath": "pages/profile/profile","text": "Profile","iconPath": "static/icon-profile.png","selectedIconPath": "static/icon-profile-selected.png"}]
}
  • borderStyle:backgroundColor:整個 tabBar 的背景顏色;
  • tabBar 上邊框的顏色,僅支持 black 和 white 兩種值;
  • list:定義 tabBar 中的每一個選項(tab);?

?2.4 mainfest.json

? ? ? ? 應用配置文件,hbuilder支持可視化配置

  • 應用信息配置:包括應用名稱、版本、描述、圖標、協議、端口等基本信息;
  • 平臺配置:定義應用在不同平臺(如 App、微信小程序、H5 等)的特殊配置;
  • 權限配置:聲明應用需要的權限;
  • SDK配置:集成第三方服務的 SDK 配置;
  • 發布配置:設置應用發布到不同平臺的相關信息;

2.5 uni-app的生命周期

生命周期函數描述觸發時機
onLoad頁面加載時觸發。頁面初始化時,只會觸發一次,參數為上一個頁面傳遞的 options。
onShow頁面顯示/切入前臺時觸發。每次打開頁面時。
onReady頁面初次渲染完成時觸發。頁面首次渲染完成時,只觸發一次。
onHide頁面隱藏/切入后臺時觸發。navigateTo 或底部 tab 切換到其他頁面,小程序切入后臺等。
onUnload頁面卸載時觸發。redirectTonavigateBack 到其他頁面。
onPullDownRefresh監聽用戶下拉動作。需要在頁面配置 enablePullDownRefreshtrue
onReachBottom頁面上拉觸底事件的處理函數。需要在頁面配置 onReachBottomDistance
onShareAppMessage用戶點擊右上角分享時觸發。返回自定義的分享內容。
onPageScroll監聽頁面滾動。頁面滾動時。
onResize頁面尺寸改變時觸發。小程序中無此鉤子。
onTabItemTap點擊 tab 時觸發。需要在頁面配置 tabBar

3.uni-app內置組件?

3.1 視圖容器

  • view:視圖容器,可以包含其他組件和視圖。

<view class="container"> <text>Hello, uni-app!</text> </view>

  • scroll-view:可滾動視圖容器。

<scroll-view scroll-y="true" style="height: 200px;"> <view>Item 1</view> <view>Item 2</view> <view>Item 3</view> </scroll-view>

  • swiper:輪播圖容器。

<swiper autoplay="true" interval="3000"> <swiper-item> <view>Slide 1</view> </swiper-item> <swiper-item> <view>Slide 2</view> </swiper-item> <swiper-item> <view>Slide 3</view> </swiper-item> </swiper>

3.2 基礎內容

  • text:文本組件。

<text>這是一個文本</text>

  • image:圖片組件。

#可以相對路徑(../)、絕對路徑(@/)、導入的圖片(script中import的圖片)、base64字符串

<image src="/static/logo.png" mode="widthFix"></image>

  • icon:圖標組件。

<icon type="success" size="30"></icon>

3.3 表單組件

  • input:輸入框組件。

<input type="text" placeholder="請輸入內容"></input>

  • button:按鈕組件。

<button type="primary">點擊我</button>

  • checkbox:復選框組件。

<checkbox-group> <label><checkbox value="1"/>選項一</label> <label><checkbox value="2"/>選項二</label> </checkbox-group>

3.4 媒體組件

  • video:視頻播放組件。

<video src="/static/video.mp4" controls></video>

  • audio:音頻播放組件。

<audio src="/static/audio.mp3" controls></audio>

  • camera:相機組件。

<camera mode="normal"></camera>

4.uni-app擴展組件(uni-ui)

uni-app官網uni-app,uniCloud,serverless,在HBuilderX 新建uni-app項目的模板中,選擇uni-ui模板,通過 uni_modules 單獨安裝組件,通過 uni_modules 導入全部組件,npm安裝icon-default.png?t=N7T8https://uniapp.dcloud.net.cn/component/uniui/quickstart.html? ? ? ?Uni-UI 是 Uni-App 提供的擴展組件庫,包含了一系列常用的 UI 組件,可以方便地在 Uni-App 項目中使用。

4.1 uni-ui安裝使用?

4.1.1 導入整個uni-ui

????????或者

4.1.2單獨安裝某個組件

?

5.uni-app頁面之間傳遞參數

5.1 通過URL參數傳遞

? ? ? ? 假如從A頁面跳轉B頁面并傳遞參數

? ? ? ? A.vue中:

<template><view><button @click="navigateToDetail">跳轉到B頁</button></view>
</template><script>
export default {methods: {navigateToDetail() {uni.navigateTo({url: '/pages/B/B?name=luobei&age=18'});}}
}
</script>

? ? ? ? B.vue中接收參數:

<template><view><text>姓名:{{ name }}</text><text>年齡:{{ age }}</text></view>
</template><script>
export default {data() {return {name: '',age: ''};},onLoad(options) {// 接收 URL 參數this.name = options.name;this.age = options.age;}
}
</script>

5.2 通過全局對象傳遞參數

? ? ? ? 在App.vue中定義全局數據

<script>
export default {onLaunch() {console.log('App Launch');},globalData: {userInfo: {name: 'luobei',age: 18}}
}
</script>

? ? ? ? A.vue中設置全局參數

<template><view><button @click="setGlobalData">設置全局數據</button></view>
</template><script>
export default {methods: {setGlobalData() {getApp().globalData.userInfo = {name: 'new name',age: 25};}}
}
</script>

? ? ? ? B.vue中讀取全局參數

<template><view><text>姓名:{{ userInfo.name }}</text><text>年齡:{{ userInfo.age }}</text></view>
</template><script>
export default {data() {return {userInfo: {}};},onShow() {// 獲取全局數據this.userInfo = getApp().globalData.userInfo;}
}
</script>

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/13374.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/13374.shtml
英文地址,請注明出處:http://en.pswp.cn/web/13374.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C++ 程序員常用的VScode的插件

vscode中好用的插件 Better CommentsBookmarksC/C ThemeChinese (Simplified) (簡體中文) Language Pack for Visual Studio CodeclangdClang-FormatCodeLLDBCMakeCMake ToolsCode RunnerCode Spell CheckerCodeSnapColor Highlightvscode-mindmapDraw.io IntegrationError Len…

一網打進Linux下那些查找命令

查找是我們每天都在做的事情&#xff0c;早上醒來找下手機&#xff0c;出門之前查下公交&#xff0c;坐下之后查下資料&#xff0c;分析數據查下模式。 查找文件&#xff0c;查找信息&#xff0c;查找錯誤是應用起來更為具體的一些工作&#xff0c;而Linux命令行為我們提供了很…

對稱加密算法的應用場景

隨著信息技術的飛速發展&#xff0c;數據安全成為了至關重要的議題。在保護數據傳輸和存儲的過程中&#xff0c;加密算法扮演著不可或缺的角色。其中&#xff0c;對稱加密算法&#xff0c;由于其高效性和易用性&#xff0c;被廣泛應用于各種場景中。本文將探討對稱加密算法的主…

Kubernets多master集群構建負載均衡

前言 在構建 Kubernetes 多 Master 集群時&#xff0c;實現負載均衡是至關重要的一環。通過多臺 Master 節點配合使用 Nginx 和 Keepalived 等工具&#xff0c;可以有效提高集群的可靠性和穩定性&#xff0c;確保系統能夠高效運行并有效應對故障。接下來將介紹如何配置這些組件…

Kotlin 編譯器和工具鏈:深入解析與實踐案例

Kotlin 編譯器和工具鏈是構建 Kotlin 項目的核心組件&#xff0c;它們負責將 Kotlin 代碼轉換為可在 JVM 或 JavaScript 環境中運行的代碼。本文將詳細介紹 Kotlin 編譯器和工具鏈的工作原理、使用方法&#xff0c;以及在實際開發中的應用案例。 1. 引言 Kotlin 作為一種現代…

JAVA GUI 植物大戰僵尸

公眾號&#xff1a;編程驛站 沒有做太多封裝。難免有冗余。源碼全部放出&#xff0c;有興趣者可以再改之。 1. pea 類 package com.hm;import javax.imageio.ImageIO; import java.awt.*; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOExce…

物業水電抄表系統的全面解析

1.系統概述 物業水電抄表系統是現代物業管理中的重要組成部分&#xff0c;它通過自動化的方式&#xff0c;實時監控和記錄居民或企業的水電使用情況&#xff0c;極大地提高了工作效率&#xff0c;降低了人工抄表的錯誤率。該系統通常包括數據采集、數據傳輸、數據分析和數據展…

鏈表OJ題(移除鏈表元素,反轉鏈表,分割鏈表,環形鏈表(是否成環問題),鏈表中間節點(快慢指針講解),環形鏈表(找入環節點))“題目來源力扣附帶題目鏈接”

目錄 1.移除鏈表元素 2.反轉鏈表 2.1三指針法 2.2頭插法 3.分割鏈表 4.鏈表的中間節點&#xff08;快慢指針&#xff09; 4.1快慢指針 4.2求鏈表的中間節點 5.環形鏈表 5.1環形鏈表是否成環 5.2環形鏈表入環節點 5.3入環節點推論的不完備性說明 1.移除鏈表元素 移除…

Microsoft Threat Modeling Tool 使用(三)

Boundary&#xff08;邊界&#xff09; 本文介紹信任邊界&#xff0c;基于 SDL TM Knowledge Base (Core) 模版&#xff0c;這是一個通用的威脅建模模板&#xff0c;非常適合初學者和大多數威脅建模需求。 這些邊界&#xff08;Boundary&#xff09;在微軟威脅建模工具中用于表…

Java多線程與高并發

1、什么是進程?什么是線程? 進程:進程是程序的基本執行實體;另外一種解釋是進程是一個應用程序(1個進程是一個軟件)。 線程:線程是操作系統能夠進行運算調度的最下單位。它被包含在進程之中,是進程中的實際運作單位;是一個進程中的執行場景/執行單元。 注意:。一個進…

uniapp實現列表拖拽排序+滑動刪除功能

此篇代碼在原插件基礎進行了bug修改與滑動功能的新增 原插件地址 HM-dragSorts.vue組件使用 HM-dragSorts.vue <template><view class""><view class"HM-drag-sort" :style"{height: ListHeightrpx,background-color: listBackground…

魔法方法介紹

【一】什么是魔法方法 在類內部達到指定條件會自動觸發的方法 【二】魔法方法 # 【1】__init__ &#xff1a; 實例化類得到對象的時候會自動觸發 class Student(object):def __init__(self):print(f"實例化類的時候觸發") # 實例化類的時候觸發 ? s Student…

在云服務器上運行StyleGAN3生成偽樣本

首先是傳入數據&#xff0c;這里我們不做贅述。 對于數據格式的裁剪&#xff0c;可以通過以下代碼進行&#xff1a; from glob import glob from PIL import Image import os from tqdm import tqdm from tqdm.std import trangeimg_path glob(r"C:\Users\Administrato…

【Oracle篇】rman物理備份工具的基礎理論概述(第一篇,總共八篇)

??博主介紹??&#xff1a; ?又是一天沒白過&#xff0c;我是奈斯&#xff0c;DBA一名? ???擅長Oracle、MySQL、SQLserver、阿里云AnalyticDB for MySQL(分布式數據倉庫)、Linux&#xff0c;也在擴展大數據方向的知識面??? ??????大佬們都喜歡靜靜的看文章&am…

嵌入式是大坑的說法,是否與學生的信息不對稱有關?

在開始前我有一些資料&#xff0c;是我根據網友給的問題精心整理了一份「嵌入式的資料從專業入門到高級教程」&#xff0c; 點個關注在評論區回復“888”之后私信回復“888”&#xff0c;全部無償共享給大家&#xff01;&#xff01;&#xff01; 目前也算是在搞嵌入式&#…

【深度學習】時空圖卷積網絡(STGCN),預測交通流量

論文地址&#xff1a;https://arxiv.org/abs/1709.04875 Spatio-Temporal Graph Convolutional Networks: A Deep Learning Framework for Traffic Forecasting 文章目錄 一、摘要二、數據集介紹美國洛杉磯交通數據集 METR-LA 介紹美國加利福尼亞交通數據集 PEMS-BAY 介紹美國…

Cocktail for Mac 激活版:一站式系統優化與管理神器

Cocktail for Mac是一款專為Mac用戶打造的系統優化與管理工具&#xff0c;憑借其強大的功能和簡便的操作&#xff0c;贏得了廣大用戶的喜愛。這款軟件集系統清理、修復和優化于一身&#xff0c;能夠幫助用戶輕松解決Mac系統中的各種問題&#xff0c;提高系統性能。 Cocktail fo…

Leetcode-有效的括號(帶圖)

20. 有效的括號 - 力扣&#xff08;LeetCode&#xff09;https://leetcode.cn/problems/valid-parentheses/ 題目 給定一個只包括 (&#xff0c;)&#xff0c;{&#xff0c;}&#xff0c;[&#xff0c;] 的字符串 s &#xff0c;判斷字符串是否有效。 有效字符串需滿足&…

在做題中學習(59):除自身以為數組的乘積

238. 除自身以外數組的乘積 - 力扣&#xff08;LeetCode&#xff09; 解法&#xff1a;前綴積和后綴積 思路&#xff1a;answer中的每一個元素都是除自己以外所有元素的和。那就處理一個前綴積數組和后綴積數組。 而前綴積(f[i])是&#xff1a;[0,i-1]所有元素的乘積 后綴…

如何利用香港多IP服務器實現定制化的網絡服務

如何利用香港多IP服務器實現定制化的網絡服務 在當今數字化快速發展的時代&#xff0c;企業對于網絡服務的需求日益增加&#xff0c;尤其是對于定制化和高度可調整的網絡服務的需求。香港&#xff0c;作為國際金融中心和數據中心的樞紐&#xff0c;提供了優越的網絡基礎設施和…