Vue,小程式開發技術詳解

来源:https://www.cnblogs.com/lydia77/archive/2023/03/01/17167752.html
-Advertisement-
Play Games

在vue中父子組件傳值是必不可少的,大家必須要學會! 首先父組件向子組件傳值: 父組件:比如我們傳teacher為index,如果我們傳值變數可以使用 : 綁定我們在data中定義的變數。 子組件:為了規範一般使用對象的形式,type表示值的類型,default表示如果不傳值就預設是null. 在子 ...


目前應用最廣的三大前端框架分別是Vue、 React 和 Angular 。其中,不管是 BAT 大廠,還是創業公司,Vue 都有廣泛的應用。如今,再隨著移動開發小程式的蓬勃發展,Vue也廣泛應用到了小程式開發當中。今天,就來詳細為大家介紹:為什麼vue值得學習、vue和小程式會碰撞出什麼火花。

一、首先認識下Vue

Vue.js(讀音 /vjuː/, 類似於 view) 是一套構建用戶界面的 漸進式框架。與其他重量級框架不同的是,Vue 採用自底向上增量開發的設計。Vue 的核心庫只關註視圖層,並且非常容易學習,非常容易與其它庫或已有項目整合。另一方面,Vue 完全有能力驅動採用單文件組件和 Vue 生態系統支持的庫開發的複雜單頁應用。

Vue.js 的目標是通過儘可能簡單的 API 實現響應的數據綁定和組合的視圖組件

上述是Vue官方網站給出解釋,對於大部分用戶讀起來還是非常抽象和晦澀難懂的,看完之後可能還是不懂這個框架到底是用來做什麼的,什麼是“漸進式框架”?什麼是“自底向上增量開發”?什麼是“視圖層”?什麼是“單文件組件”?什麼是“複雜的單頁應用?”第二段話裡面“響應的數據綁定和組合的視圖組件”這又是個啥?

 

 

1.Vue.js到底是什麼?

想必大家上網瀏覽新聞都是用APP或者網頁,Vue.js就是一個用於搭建類似網頁的表單項繁多、內容需要根據用戶的操作進行修改的網頁版應用。

2.什麼是單頁應用

單頁應用一般指的就是一個頁面就是應用,當然也可以是一個子應用,比如一個頁面就可以視為一個子應用。單頁應用程式中一般交互處理非常多,而且頁面中的內容需要根據用戶的操作動態變化。

3.什麼叫視圖層

現在我們把一個網頁應用抽象一下,那麼HTML中的DOM其實就是視圖,一個網頁就是通過DOM的組合與嵌套,形成了最基本的視圖結構,再通過CSS的修飾,在基本的視圖結構上“化妝”讓他們看起來更加美觀。最後涉及到交互部分,就需要用到JavaScript來接受用戶的交互請求,並且通過事件機制來響應用戶的交互操作,並且在事件的處理函數中進行各種數據的修改,比如說修改某個DOM中的innerHTML或者innerText部分。我們把HTML中的DOM就可以與其他的部分獨立開來劃分出一個層次,這個層次就叫做視圖層

 

 

4.響應式的數據綁定

這裡的響應式不是@media 媒體查詢中的響應式佈局,而是指vue.js會自動對頁面中某些數據的變化做出響應。至於是如何響應的,大家可以先把下麵這段代碼隨便粘貼到一個擴展名為html的文件然後用瀏覽器打開,隨便在文本框裡面輸入一些文字,觀察一下頁面變化。

5.組件化開發

做單頁應用,頁面交互和結構十分複雜,一個頁面上就有許許多多的模塊需要編寫,而且往往一個模塊的代碼量和工作量就非常龐大,如果還按照原先的方法來開發,那麼會累死人。而且遇到以後的產品需求變更,修改起來也非常麻煩,生怕動了其中一個div之後,其他div跟著雪崩,整個頁面全部亂套,或者由於JavaScript的事件冒泡機制,導致修改一些內層的DOM事件處理函數之後,出現各種莫名其妙的詭異BUG。

在面向對象編程中,我們可以使用面向對象的思想將各種模塊打包成類或者把一個大的業務模塊拆分成更多更小的幾個類。在面向過程編程中,我們也可以把一些大功能拆分成許多函數,然後分配給不同的人來開發。

在前端應用,我們是否也可以像編程一樣把模塊封裝呢?這就引入了組件化開發的思想。

Vue.js通過組件,把一個單頁應用中的各種模塊拆分到一個一個單獨的組件(component)中,我們只要先在父級應用中寫好各種組件標簽(占坑),並且在組件標簽中寫好要傳入組件的參數(就像給函數傳入參數一樣,這個參數叫做組件的屬性),然後再分別寫好各種組件的實現(填坑),然後整個應用就算做完了。

二、Vue和小程式的關係

首先需要說明的一點Vue和小程式開發是沒有直接關係的。

但是受到Vue的影響,以及Vue眾多的開發者,不少組織將小程式二次開發,以類似Vue語法的形式進行小程式開發(最後通過自己的工具轉成原生小程式的語法),比如美團的mpVue(Vue.js in mini program)。好處在於降低了Vue開發者學習小程式開發的成本,以及優化了很多小程式的不足點,例如小程式不能使用Npm,不能使用CSS預處理器,原生是callback語法等。

 

 

例如mpVue是一個使用 Vue.js 開發小程式的前端框架,框架基於Vue.js核心,Mpvue修改了Vue.js的 runtime 和 compiler 實現,使其可以運行在小程式環境中,從而為小程式開發引入了整套Vue.js開發體驗。使用Mpvue開發小程式,將在小程式技術體系的基礎上獲取到一些額外能力:

  • 徹底的組件化開發能力:提高代碼復用性
  • 完整的Vue.js開發體驗
  • 方便的Vuex數據管理方案:方便構建複雜應用
  • 快捷的webpack構建機制:自定義構建策略、開發階段 hotReload
  • 支持使用 npm 外部依賴
  • 使用Vue.js命令行工具 vue-cli 快速初始化項目
  • H5 代碼轉換編譯成小程式目標代碼的能力

 

如果需要深入學習瞭解使用mpVue開發小程式可以參考官方文檔:http://mpvue.com/mpvue/#_1

三、如何讓小程式發揮更大的價值

在理解如何基於Vue開發小程式後,那也可以順著瞭解如何更好的發揮小程式價值,這就不得不提到 Hybrid 模式漸漸開始流行, Native + 小程式 的架構模式成為趨勢,它解決了傳統App帶來的迭代不敏捷、代碼量堆積、多平臺維護等問題,同時又有遠超 H5 的體驗。

這裡要推薦到的是已經在市場上比較成熟的小程式容器技術-FinClip,通過集成SDK便可讓自己的APP快速擁有小程式運行能力。

此外,FinClip的視圖層與邏輯層分離也帶來了許多好處:

1、方便多個小程式頁面之間的數據共用和交互。在小程式的生命周期中具有相同的上下文可以為具備原生應用程式開發背景的開發人員提供熟悉的編碼體驗;

2、Service和View的分離和並行實現可以防止JS執行影響或減慢頁面渲染,這有助於提高渲染性能

3、因為JS在Service層執行,所以JS裡面操作的DOM將不會對View層產生影響,所以小程式不能操作DOM結構的,這也使得小程式的性能比傳統的H5更好

 

 

其中還有一點很值得推薦, 相容微信小程式開發規範 。

也就是說,原來通過Vue開發的微信小程式也可以在不改代碼的情況下,順帶手把這個小程式放在自己的 APP 里。同時,提供後臺管理頁面,可以統一管理自有和外部開發上架的小程式,以及對收集到的小程式數據進行分析。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • VE-Plus 自研輕量級 vue3.js 桌面pc端UI組件庫 經過一個多月的籌劃及開發,今天給大家帶來一款全新的Vue3桌面端UI組件庫VEPlus。新增了35+常用的組件,採用vue3 setup語法糖開發,在使用上和element-ui比較類似,極易快速上手。 ve-plus 致力數據驅動視 ...
  • css的全局關鍵字有下麵幾個: inherit : 繼承父級屬性 initial:將元素初始化成css的初始值 unset:繼承和初始化元素 revert:還原到瀏覽器內置樣式 all:代指所有css屬性 下麵分別說說這幾個關鍵字的實際作用 inherit 繼承父級屬性 inherit可以繼承父級屬 ...
  • 客戶端和伺服器 客戶端與伺服器的通信 互聯網:錯綜複雜的網路,比如每個快遞車走的路. TCP/IP:定義數據如何傳輸的通信協議,比如快遞的包裝,發貨規則. DNS:功能變數名稱系統伺服器,輸入一個網址時,找到網頁的伺服器,才能發送 HTTP 請求到正確的地方。(功能變數名稱->IP),比如發貨地址. HTTP:超文 ...
  • 這裡給大家分享我在網上總結出來的一些知識,希望對大家有所幫助 1. 介紹 什麼是虛擬滾動?虛擬滾動就是通過js控制大列表中的dom創建與銷毀,只創建可視區域dom,非可視區域的dom不創建。這樣在渲染大列表中的數據時,只創建少數的dom,提高性能。 2. 分類 在虛擬滾動技術中,虛擬滾動可以分為定高 ...
  • 好家伙,本篇為《JS高級程式設計》第十章“期約與非同步函數”學習筆記 1.非同步編程 同步行為和非同步行為的對立統一是電腦科學的一個基本概念。 特別是在 JavaScript 這種單線程事 件迴圈模型中,同步操作與非同步操作更是代碼所要依賴的核心機制。 非同步行為是為了優化因計算量大而 時間長的操作。如果在 ...
  • 繪製一個點 我們初步認識了 webgl,本篇主要圍繞繪製一個點的示例,逐步實現下麵功能: 點的位置從 js 傳入著色器 點的大小由 js 傳入著色器 通過滑鼠點擊繪點 通過滑鼠點擊繪點,並改變點的顏色 繪製一個點(版本2) 需求 在上篇中我們在canvas中心繪製了一個點(效果如下),但這點的位置是 ...
  • 情況說明: onKeydown事件觸發條件:容器中某個元素獲取焦點時,按鍵。因此無效的原因是當前容器內並沒有元素獲取焦點。 方案一:容器中監聽快捷鍵 解決方案:利用全局監聽 window.onKeydown document.onkeydown 方案二:視窗中多個容器,監聽各自的快捷鍵 與“方案一” ...
  • 一、https://element-plus.gitee.io/zh-CN/ 官網 二、後臺佈局Layui 代碼示例如下 <template> <div class="app_container"> <div class="common-layout"> <el-container> <el-asi ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...