撩課-Web大前端每天5道面試題-Day22

来源:https://www.cnblogs.com/gxq666/archive/2018/12/31/10201392.html
-Advertisement-
Play Games

1.mvvm和mvc區別?它和其它框架(jquery)的區別是什麼?哪些場景適合? 2.vue的優點是什麼? 3.vue.cli中怎樣使用自定義的組件?有遇到過哪些問題嗎? 4.請列舉出3個Vue中常用的生命周期鉤子函數? 5.vue如何自定義一個過濾器? ...


1.mvvm和mvc區別?它和其它框架(jquery)的區別是什麼?哪些場景適合?

mvc和mvvm其實區別並不大。

都是一種設計思想。

主要就是mvc中Controller演變成mvvm中的viewModel。

mvvm主要解決了mvc中大量的DOM 操作使頁面渲染性能降低,

載入速度變慢,影響用戶體驗。

區別:

vue數據驅動,
通過數據來顯示視圖層而不是節點操作。

場景:
數據操作比較多的場景,更加便捷

 

2.vue的優點是什麼?

低耦合。

視圖(View)可以獨立於Model變化和修改,
一個ViewModel可以綁定到不同的"View"上,
當View變化的時候Model可以不變,
當Model變化的時候View也可以不變。
可重用性。

你可以把一些視圖邏輯放在一個ViewModel裡面,
讓很多view重用這段視圖邏輯。
獨立開發。
開發人員可以專註於業務邏輯和數據的開發(ViewModel),
設計人員可以專註於頁面設計。
可測試。

界面素來是比較難於測試的,
而現在測試可以針對ViewModel來寫。

 

3.vue.cli中怎樣使用自定義的組件?有遇到過哪些問題嗎?

第一步:
在components目錄新建你的組件文件(indexPage.vue),
script一定要export default {}

第二步:
在需要用的頁面(組件)中導入:
import indexPage from '@/components/indexPage.vue'

第三步:
註入到vue的子組件的components屬性上面,components:{indexPage}

第四步:
在template視圖view中使用,
例如有indexPage命名,
使用的時候則index-page

 

4.請列舉出3個Vue中常用的生命周期鉤子函數?

created: 

實例已經創建完成之後調用,
在這一步,實例已經完成數據觀測, 
屬性和方法的運算, watch/event事件回調. 
然而, 掛載階段還沒有開始, 
$el屬性目前還不可見

mounted: 

el被新創建的 vm.$el 替換,
並掛載到實例上去之後調用該鉤子。
如果 root 實例掛載了一個文檔內元素,
當 mounted 被調用時 vm.$el 也在文檔內。
activated: keep-alive組件激活時調用

 

5.vue如何自定義一個過濾器?

html代碼:

<div id="app">
     <input type="text" v-model="msg" />
     {{msg| capitalize }}
</div>

JS代碼:

var vm=new Vue({
    el:"#app",
    data:{
        msg:''
    },
    filters: {
      capitalize: function (value) {
        if (!value) return ''
        value = value.toString()
        return value.charAt(0).toUpperCase() + value.slice(1)
      }
    }
})

全局定義過濾器

Vue.filter('capitalize', function (value) {
  if (!value) return ''
  value = value.toString()
  return value.charAt(0).toUpperCase() + value.slice(1)
})

過濾器接收表達式的值 (msg) 作為第一個參數。
capitalize 過濾器將會收到 msg的值作為第一個參數。

 


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

-Advertisement-
Play Games
更多相關文章
  • 1、To Find Swap, RAM, and OS Version 對於 Solaris 操作系統,查看 Swap, RAM, and OS Version 的方法: swap -l /usr/sbin/prtconf | grep -i memory uname -r 2、To Determi ...
  • 這個案例是前幾天同事遇到的一個案例,在存儲過程中“刪除”了一個臨時表,然後重新創建這個臨時表時遇到“There is already an object named 'xxxx' in the database."這樣的錯誤。下麵簡單演示一下這個案例(不用存儲過程,而是直接用簡單的SQL語句重現) ... ...
  • Express 基於Node.js平臺,快速、開放、極簡的web開發框架 Express特點 1. 他提供一系列強大的特性,幫助你創建各種web和移動設備應用2. 豐富的HTTP快捷方法和任意排列組合的Connect中間件,讓你創建健壯、友好的API變得即快速又簡單3. Express不對Node. ...
  • 瀏覽器端js是單線程執行,所以當js執行高負載運算時,UI渲染就會阻塞,頁面就會出現卡頓,用戶體驗就不是很好 js為此也提供了非同步操作,例如: 定時器(setTimeout 和 setInterval),Ajax請求等,但非同步終究還是單線程,不能從根本上解決問題,像setTimeout並不能拿到正確 ...
  • /.事件響應刷新:有請求才會刷新 1、通過JS HTML DOM或jQuery獲取HTML元素,通過DOM方法或jQuery方法監聽頁面事件,獲取用戶請求; 2、通過Ajax將用戶請求提交至伺服器,伺服器處理後返回結果,再由Ajax接收數據; 3、通過DOM方法或jQuery方法將數據載入頁面,事件 ...
  • 目標效果:點擊頁面按鈕,顯示模態對話框,在模態對話框里點擊取消關閉模式對話框。 效果如下 實現代碼如下: ...
  • 以上為效果圖 HTML代碼: CSS樣式: jQuery代碼: jquery.js slide.js 如果感覺還不錯,麻煩給個小心心。 ...
  • 受油猴子上的作者cherry製作的“網頁滑鼠點擊特效”啟發,於是稍加修改和製作,完成了Steam Wallpaper Engine版本的桌面滑鼠點擊特效。 Steam鏈接🔗:https://steamcommunity.com/sharedfiles/filedetails/?id=1609057 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...