原创 小程序登錄授權及獲取用戶信息API詳解

這篇文章主要介紹了小程序:授權、登錄、session_key、unionID、openID等的詳解,主要分爲兩個部分來介紹,第一部分是簡單的整理說明,以求理清關係。第二部分授權登錄的邏輯參考了多個小程序,希望能找到最優的模式,並會配合代

原创 前端 100 問:能搞懂80%的請把簡歷給我

原文鏈接:https://blog.csdn.net/github_34708151/article/details/95165589 引言 半年時間,幾千人參與,精選大廠前端面試高頻 100

原创 餓了麼element組件庫el-upload組件表單校驗問題

最近在用餓了麼的el-upload組件時候,需要用到表單校驗,但是遇到了一個問題,如圖所示: (點擊提交時候觸發了表單校驗提示:“請上傳身份證正面照”,但是上傳之後表單校驗提示信息無法清除。) 解決辦法如下: 在有el-upload的那

原创 VUE處理支付寶支付返回的form表單

大部分的配置都是後端來處理,所以我這裏只說前端拿到後臺返回的form表單信息該如何處理。 調用後臺接口返回結果處處理: if (res.code == 200) { let routerData = this.$router.

原创 用js實現按鈕的拖拽

最近做了一個需求,要求實現客服按鈕的拖拽效果。 本來以爲只是一個簡單的拖拽效果,最後做起來卻發現在拖拽結束的時候會觸發按鈕的點擊事件。 查了一些文章後解決了這個問題,下面貼上代碼: html: <div id="dragService"

原创 Vue組件中的data爲什麼必須是一個函數

在Vue的組件基礎中有這樣一句話:data必須是一個函數。 爲什麼data必須是一個函數呢? 我們來看Vue在聲明式渲染中給出的一個demo: <div id="app">{{ message }}</div> var app =

原创 從輸入URL到頁面加載發生了什麼?

從總體上來說大致過程如下: 1、在瀏覽器的地址欄輸入URL並按下回車 2、瀏覽器查找當前URL是否存在緩存,並比較緩存是否過期 3、DNS解析URL對應的IP 4、根據IP建立TCP連接(三次握手) 5、發送HTTP請求 6、服務器處理請

原创 VUE組件通信、傳值的方式彙總

一、路由傳值 1.用name傳遞參數 (1)首先在路由文件src/router/index.js裏配置name屬性。 routes: [ { path: '/', name: 'Hello',

原创 JS中的跨域問題及解決辦法彙總

一、什麼是跨域? 在瞭解跨域之前,首先要知道什麼是同源策略(same-origin policy)。簡單來講同源策略就是瀏覽器爲了保證用戶信息的安全,防止惡意的網站竊取數據,禁止不同域之間的JS進行交互。對於瀏覽器而言只要域名、協議、端口

原创 JS數據類型之基本數據類型

一、數據類型簡介:1.JavaScript(以下簡稱js)的數據類型分爲兩種:原始類型(即基本數據類型)和對象類型(即引用數據類型);2.js常用的基本數據類型包括undefined、null、number、boolean、string;

原创 Promise簡要分析

Promise的含義Promise是異步編程的一種解決方案,比傳統的解決方案–回調函數和事件–更合理和更強大。所謂promise,簡單來說就是一個容器,裏面保存着某個未來纔會結束的事件(通常是一個異步操作)的結果。從語法上說,Promis

原创 關於CSS圖片底部3像素問題

    最近在學習前端開發,所以希望記錄一些關於自己寫頁面中遇到的問題的記錄。可以幫助自己更好的記憶,當然如果能幫助到有同樣問題的小夥伴,就更好了。因爲白天上班,有點忙,所以學習筆記等到有時間會一一補上來。話不多說,下面先描述一下我遇到的

原创 JS排序算法——冒泡排序

排序算法優劣說明:穩定:如果a原本在b前面,而a=b,排序之後a仍然在b的前面;不穩定:如果a原本在b的前面,而a=b,排序之後a可能會出現在b的後面;內排序:所有排序操作都在內存中完成;外排序:由於數據太大,因此把數據放在磁盤中,而排序

原创 淺談session,cookie,sessionStorage,localStorage的區別及應用場景

文章轉載自:http://www.cnblogs.com/cencenyue/p/7604651.html瀏覽器的緩存機制提供了可以將用戶數據存儲在客戶端上的方式,可以利用cookie,session等跟服務端進行數據交互。一、cooki

原创 前端開發之JS篇——多維數組轉一維數組

第一種方法(其原理是先把多維數組轉字符串,再把字符串轉爲一維數組):1.使用數組的join():let arr = [1, 2, 3, 4, 5, [6, 7, 8, [9, 10, 11, 12, [13, 14, 15, 16]]]]