金九銀十求職季,前端面試大全送給你

vue的數據雙向綁定 將MVVM作為數據綁定的入口,整合Observer,Compile和Watcher三者,通過Observer來監聽自己的model的數據變化,通過Compile來解析編譯模板指令(vue中是用來解析 {{}}),最終利用watcher搭起observer和Compile之間的通信橋樑,達到數據變化 —>視圖更新;視圖交互變化(input)—>數據model變更雙向綁定效果。


40、Vue組件間的參數傳遞

(1)、父組件與子組件傳值

父組件傳給子組件:子組件通過props方法接受數據;

子組件傳給父組件:$emit方法傳遞參數

(2)、非父子組件間的數據傳遞,兄弟組件傳值

eventBus,就是創建一個事件中心,相當於中轉站,可以用它來傳遞事件和接收事件。項目比較小時,用這個比較合適。

使用vuex也可以


41、Vue的路由實現:hash模式 和 history模式

hash模式:在瀏覽器中符號“#”,#以及#後面的字符稱之為hash,用window.location.hash讀取;

特點:hash雖然在URL中,但不被包括在HTTP請求中;用來指導瀏覽器動作,對服務端安全無用,hash不會重加載頁面。

history模式:history採用HTML5的新特性;且提供了兩個新方法:pushState(),replaceState()可以對瀏覽器歷史記錄棧進行修改,以及popState事件的監聽到狀態變更。


42、Vue與React的區別?

- 相同點:

React採用特殊的JSX語法,Vue.js在組件開發中也推崇編寫.vue特殊文件格式,對文件內容都有一些約定,兩者都需要編譯後使用;中心思想相同:一切都是組件,組件實例之間可以嵌套;都提供合理的鉤子函數,可以讓開發者定製化地去處理需求;都不內置列數AJAX,Route等功能到核心包,而是以插件的方式加載;在組件開發中都支持mixins的特性。

- 不同點:

React採用的Virtual DOM會對渲染出來的結果做髒檢查;Vue.js在模板中提供了指令,過濾器等,可以非常方便,快捷地操作Virtual DOM。


43、vue路由的鉤子函數

首頁可以控制導航跳轉,beforeEach,afterEach等,一般用於頁面title的修改。一些需要登錄才能調整頁面的重定向功能。

beforeEach主要有3個參數to,from,next:

to:route即將進入的目標路由對象,

from:route當前導航正要離開的路由

next:function一定要調用該方法resolve這個鉤子。執行效果依賴next方法的調用參數。可以控制網頁的跳轉。


44. vuex是什麼?怎麼使用?哪種功能場景使用它?

只用來讀取的狀態集中放在store中; 改變狀態的方式是提交mutations,這是個同步的事物; 異步邏輯應該封裝在action中。

在main.js引入store,注入。新建了一個目錄store,…… export 。

場景有:單頁應用中,組件之間的狀態、音樂播放、登錄狀態、加入購物車

- state

Vuex 使用單一狀態樹,即每個應用將僅僅包含一個store 實例,但單一狀態樹和模塊化並不衝突。存放的數據狀態,不可以直接修改裡面的數據。

- mutations

mutations定義的方法動態修改Vuex 的 store 中的狀態或數據。

- getters

類似vue的計算屬性,主要用來過濾一些數據。

- action

actions可以理解為通過將mutations裡面處裡數據的方法變成可異步的處理數據的方法,簡單的說就是異步操作數據。view 層通過 store.dispath 來分發 action。


推薦文章:


- WXML (WeiXin Markup Language)是框架設計的一套標籤語言,結合基礎組件、事件系統,可以構建出頁面的結構。內部主要是微信自己定義的一套組件。

- WXSS (WeiXin Style Sheets)是一套樣式語言,用於描述 WXML 的組件樣式,

- js 邏輯處理,網絡請求

- json 小程序設置,如頁面註冊,頁面標題及tabBar。

- app.json必須要有這個文件,如果沒有這個文件,項目無法運行,因為微信框架把這個作為配置文件入口,整個小程序的全局配置。包括頁面註冊,網絡設置,以及小程序的window背景色,配置導航條樣式,配置默認標題。

- app.js必須要有這個文件,沒有也是會報錯!但是這個文件創建一下就行 什麼都不需要寫以後我們可以在這個文件中監聽並處理小程序的生命週期函數、聲明全局變量。

- app.wxss配置全局css



給HTML元素添加data-*屬性來傳遞我們需要的值,然後通過e.currentTarget.dataset或的param參數獲取。但data-名稱不能有大寫字母和不可以存放對象


48、程序的wxss和css有哪些不一樣的地方?

wxss的圖片引入需使用外鏈地址;

沒有Body;樣式可直接使用import導入


49、小程序關聯微信公眾號如何確定用戶的唯一性?

使用wx.getUserInfo方法withCredentials為 true 時 可獲取encryptedData,裡面有 union_id。後端需要進行對稱解密


微信小程序獲取用戶信息需要用戶授權,首先用戶登陸微信小程序使用wx.login這個API,然後通過wx.getUserInfo這個API在拿到用戶信息


公告


分享到:


相關文章: