微信動態中的背景圖更換

初衷:

圖一中的紅框中的部分,作為用戶自定義的背景圖,如果用戶沒有上傳也會為其自動設置一張背景圖,當用戶點擊時則會出現圖二中的選項 ,點擊取消則選項消失,點擊從相冊選擇則會跳轉本機的相冊,選擇照片后會切換背景圖片,如圖三

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

實現原理:

1.在頁面中添加用于圖片上傳的插件,并不希望他顯示,所以為他設置隱藏,當我們點擊大盒子時觸發changeBg事件(也就是當我們點擊上面圖一時要觸發的事件)

在這里插入圖片描述

2.當chageBg事件觸發時會彈出上面介紹的圖二中的選項框,藍色框中是當我們點擊‘從相冊中選擇’時會用代碼觸發圖片上傳插件中的單擊事件(事件觸發后悔彈出選擇圖片對話框,可以選擇自己喜歡的圖片進行上傳)

在這里插入圖片描述

3.選擇后圖片會自動進行上傳,上傳成功后會執行下面的代碼,在這個方法中我們調用了一個函數,同時我們將ret作為參數傳遞過去,ret中就是上傳成功后返回圖片新的地址等信息(因為實在weui組件中的this不是指的Vue實例,所以我們將指向Vue實例的this賦值給self)

在這里插入圖片描述

4.(1)submit事件中首先更新數據庫中的背景圖像,調用接口,將圖片的id以及圖片新的地址傳遞過去成功后執行本地背景圖更新

在這里插入圖片描述

4.(2)submit事件中更新本地的背景圖像,調用store中的方法并且傳值,值是一個對象通過對象的展開運算符(…)將對象的屬性和值完全的復制一份給本對象,但浙江對象中的bgurl屬性值換成行的圖片路徑

在這里插入圖片描述

5.上面調用了store中的srtUser方法,此方法有調用mutations中的setUser方法將傳遞過來的對象重新賦值,當state中的值變化后又會重新渲染DOM

在這里插入圖片描述

6.在盒子中的背景圖是動態屬性,但是動態屬性一旦發生變化,圖片也會發生變化進而實現了背景圖的自定義上傳

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

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

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

相關文章

大數據學習——akka自定義RPC

實現 package cn.itcast.akkaimport akka.actor.{Actor, ActorSystem, Props} import akka.actor.Actor.Receive import com.typesafe.config.ConfigFactoryimport scala.collection.mutableimport scala.concurrent.duration._class Master(val host: String, val port: Int) …

從Client應用場景介紹IdentityServer4(一)

從Client應用場景介紹IdentityServer4(一) 原文:從Client應用場景介紹IdentityServer4(一)一、背景 IdentityServer4的介紹將不再敘述,百度下可以找到,且官網的快速入門例子也有翻譯的版本。這里主要從Clie…

開發常用代碼筆記

Vue 使用moment插件對時間進行格式化(全局設置) 下載插件 npm install moment --save 在main.js中引入插件 import moment from ‘moment’ 在main.js中定義全局過濾器 Vue.filter(dataFilter,function (dataStr,patten YYYY-MM-DD HH:mm:ss) {retur…

springboot 參數校驗詳解

https://www.jianshu.com/p/89a675b7c900 在日常開發寫rest接口時,接口參數校驗這一部分是必須的,但是如果全部用代碼去做,顯得十分麻煩,spring也提供了這部分功能,本文來探究一下如何實現 1.配置 spring-boot-starter-web包自動依…

微信小程序——賬號及開發工具

1. 注冊微信小程序賬號 點擊我進入微信公眾平臺 進入后點擊立即注冊 注冊成功且登錄后進入小程序管理后臺 2. 安裝開發者工具 點擊進入開發文檔 進入安裝開發工具(穩定版本) 一路默認下一步進行安裝 3. 開發者工具的使用 使用注冊微信小程序的微信號…

CSS注意的地方

content-box和border-box的區別 2018年02月27日 22:20:16 sulingliang 閱讀數:8011盒子模型 盒子寬度:paddingbordercontent-width 盒子高度:paddingbordercontent-height 如圖所示 盒子模型content-box 說明:在內容寬度和高度之…

機器學習筆記(6) 線性回歸

先從最簡單的例子開始,假設我們有一組樣本(如下圖的一個個黑色的圓點),只有一個特征,如下圖,橫軸是特征值,縱軸是label。比如橫軸是房屋面積,縱軸是房屋價格. 現在我們要做什么呢?我們試圖找到一條直線yaxb,可以盡量好的擬合這些點. 你可能要問了,為啥是直線,不是曲…

仿微信朋友圈項目梳理

項目功能簡介: 用戶通過手機號驗證碼進行登錄和注冊 可以瀏覽動態列表中的所有動態 登錄成功后用戶可以發表自己的動態 也可以對自己認可欣賞的動態進行點贊和評論 也可以通過動態結識志同道合的朋友 進行聊天和探討 前端:采用Vue框架搭建 weui進行頁面…

如何處理大流量高并發

1.動靜分離。 將網站中的靜態資源單獨拆分出來, 比如 css, js, 圖片, 視頻資源單獨存儲在一臺服務器上, 或者直接使用云存儲平臺, 七牛云或者阿里云之類的, 這樣能有效的降低主服務器的運行壓力 2.CDN加速。 云平臺提供 CDN 加速, 可以對資源進行全國服務器節點的分發, 提高全國…

echarts鼠標事件以及自定義數據獲取

事件添加方法: 對應官網位置:https://www.echartsjs.com/api.html#events 鼠標事件包括 click、dblclick、mousedown、mousemove、mouseup、mouseover、mouseout、globalout、contextmenu。 myChart.on(click, function (params) {console.log(params); …

[數學]點、線、面分割問題

平面分割問題 p條直線相交于一點時,分割的圖形有 2*(n-1) 個,此時再加一條直線,在 2*(n-1) 的基礎上再加 n條,此時為2*n n條曲線,其中有m條相交于一點,每兩個曲線都交于兩點 平面上有n條直線,且…

移動開發

1.移動端基礎 1.1 瀏覽器現狀 PC端瀏覽器 360瀏覽器、谷歌瀏覽器、火狐瀏覽器、QQ瀏覽器、百度瀏覽器(停止服務)、搜狗瀏覽器、IE瀏覽器 移動端瀏覽器 UC、QQ瀏覽器、歐朋瀏覽器、百度手機瀏覽器、360、搜狗、獵豹、谷歌等其他手機自帶的瀏覽器 國…

Django之路由系統

Django的路由系統 Django 1.11版本 URLConf官方文檔 URL配置(URLconf)就像Django 所支撐網站的目錄。它的本質是URL與要為該URL調用的視圖函數之間的映射表。 你就是以這種方式告訴Django,對于這個URL調用這段代碼,對于那個URL調用那段代碼。 URLconf配置…

微信小程序——操作數據庫

案例一:統計用戶的訪問次數 業務需求: 統計每個用戶對程序的訪問次數將訪問次數存儲到數據庫中訪問次數應該與用戶進行關聯 業務邏輯: 如果用戶是第一次訪問此程序,向數據庫添加一條記錄:{openid:45454…

shop--12.阿里云部署以及域名綁定

一、申請阿里云服務器(1)PC訪問阿里云https://www.aliyun.com/,申請阿里云帳號(可以用您的支付寶帳號登錄,因為支付寶帳號已經進行了實名認證,使用起來更方便)并登錄(2)找…

微信小程序——獲取用戶的運動步數

程序獲取用戶信息步驟 點擊參考微信文檔中的授權首先程序先向用戶申請訪問哪些權限用戶做出選擇后返回給程序程序攜帶權限訪問服務器如果用戶允許則返回信息如果用戶為允許則不返回 自定義函數getUserRun 為獲取用戶的微信運動數據 頁面加載調用此函數函數中執行下面操作 1…

C++之前置自增與后置自增

關于前置自增與后置自增的區別我是參考這里:http://bbs.bccn.net/thread-454977-1-1.html 簡單復述下,比如x; 與 x; 在C中,x這個表達式的值為原先x的值1,副作用是x的值增加了1;(C中不是這樣定義的&#xff…

第一次個人作業

該作業所屬課程:https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass2作業要求地址:https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass2/homework/3340團隊名稱:腦殼痛 作業的目標 1.通過測試其他組的軟件項目學習其…

微信小程序——解決上傳并部署云函數時報錯ResourceNotFound.Function, 未找到函數版本,請創建后再試。 (7f2d9d2d-5eac-4575-9n57-acd66cfa587g

1. 上傳部署我們的云函數 2. 報錯 錯誤信息為:Error: ResourceNotFound.Function, 未找到函數版本,請創建后再試。 (7f2d9d2d-5eac-4575-9b57-acd66cfa587e) 3. 原因 原因是可能我們在調試的時候不小心將我們開發控制臺中的云函數刪除了 4. 解決辦法…

前端面試題——HTML基礎篇

如何進行網站的性能優化 content方面 減少http請求 合并文件 css精靈圖減少 DNS 查詢 DNS緩存 將資源分布到恰當數量的主機名減少 DOM 元素的數量 Server方面 使用CDN配置Etag對組件使用 Gzip 壓縮 Cookie方面 減小cookie大小 css方面 將樣式表放到頁面頂部不使用css表…