好程序員web前端分享MVVM框架Vue實現原理

  好程序員web前端分享MVVM框架Vue實現原理,Vue.js是當下很火的一個JavaScript MVVM庫,它是以數據驅動和組件化的思想構建的。相比于Angular.js和react.js更加簡潔、更易于理解的API,使得我們能夠快速地上手并使用Vue.js。

?

1.什么是MVVM呢?

MVVM的簡寫是Model-View-ViewModel。

  在過去的10年里面,我們已經把很多傳統的服務端代碼放到了瀏覽器中,這樣就產生了成千上萬行的javascript代碼,它們連接了HTML 和CSS文件,但缺乏正規的組織形式,這也就是為什么很多開發者使用框架。比如:angular.js、react.js、vue.js。有了這些框架之后,瀏覽器的兼容性問題已經不再是我們前端開發的阻礙。(這里應該有歡呼聲,為什么要這么說,下次寫瀏覽器兼容時再告訴你們)前端的項目體積不斷的在加大,從一個簡陋的小小的頁面變成炫彩的頁面需要成千上萬的代碼,這樣導致了項目的可維護性和擴展性包括重要的安全性等成了最主要問題。

  這也是為什么有很多很多的開發人員使用框架,框架簡潔,有API。在當年那個時代為了解決瀏覽器兼容性問題,出現了很多類庫,其中最典型的就是JQuery。但是這類庫沒有實現對業務邏輯的分成,所以維護性和擴展性極差。綜上兩方面原因,才有了MVVM模式一類框架的出現。比如說vue.js框架就是通過數據的雙向綁定,極大了提高了開發效率。

  1. MVVM框架

Vue就是基于MVVM模式實現的一套框架,在vue框架中:

Model:指的是js中的數據,如對象,數組等等。

View:指的是頁面視圖

viewModel:指的是vue實例化對象,

  都說Vue.js是一個漸進式的javascript框架, 漸進式是什么意思?

  1.   假如你已經有一個現成的服務端應用,你可以將vue 作為該應用的一部分加入其中,帶來更好的交互體驗;
  2.   假如你想將更多的業務邏輯放到界面來實現,那么Vue可以滿足你大部分的需求,(vue2.x+vue-router+axios+webpack)。和其它前端框架一樣,VUE的優點在于可以很好的每一個功能、特效變成組件化,有更好的可維護性,也可以進行復用,每個組件都包含屬于自己的HTML、CSS、JAVASCRIPT以用來渲染網頁中相應的地方
  3. 如果我們構建一個大型的應用,在這一點上,vue有一個命令行工具,使快速初始化一個真實的工程變得非常簡單(vue init webpack my-project)。我們可以使用VUE的單文件組件,它包含了各自的html、JavaScript以及帶作用域的css或scss。

以上這三個例子,是一步步遞進的,也就是說對Vue.js的使用可大可小,它都會有相應的方式來整合到你的項目中。所以說它是一個漸進式的框架。Vue.js最獨特的特性:當我們的數據變更時,Vue.js會幫你更新所有網頁中用到它的地方。


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

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

相關文章

HDU - 3516 Tree Construction

HDU - 3516 思路&#xff1a; 平行四邊形不等式優化dp &#xff1a;&#xff09; 代碼&#xff1a; #pragma GCC optimize(2) #pragma GCC optimize(3) #pragma GCC optimize(4) #include<bits/stdc.h> using namespace std; #define y1 y11 #define fi first #define se…

各類總線傳輸速率

1. USB總線 USB1.1&#xff1a; -------低速模式(low speed)&#xff1a;1.5Mbps -------全速模式(full speed)&#xff1a; 12Mbps USB2.0&#xff1a;向下兼容。增加了高速模式&#xff0c;最大速率480Mbps。 -------高速模式(high speed)&#xff1a; 25~480Mbps US…

Activiti多人會簽例子

Activiti中提供了多實例任務&#xff08;for-each&#xff09;將多實例應到到UserTask中可以實現會簽功能。 Multi-instance (for each) Description A multi-instance activity is a way of defining repetition for a certain step in a business process. In programming …

Django 【認證系統】auth

本篇內容 介紹Django框架提供的auth 認證系統 方法&#xff1a; 方法名 備注 create_user 創建用戶 authenticate 登錄驗證 login 記錄登錄狀態 logout 退出用戶登錄 is_authenticated 判斷用戶是否登錄 login_required裝飾器 進行登錄判斷 引入模塊 from django.…

兒科常見疾病的中成藥療法

孩子感冒&#xff0c;分清寒熱是關鍵——兒童風寒感冒和風熱感冒的中成藥內服外治法 兒童不養兒不知父母恩&#xff0c;每個人恐怕都只有自己做了父母&#xff0c;才能感受到父母的愛。嬰幼兒正處于最初的發育期&#xff0c;抵抗力弱&#xff0c;有個感冒發燒的也是常有的事兒。…

物化視圖

有個項目因為有比較多的查詢匯總&#xff0c;考慮到速度&#xff0c;所以使用了物化視圖。簡單的把用到的給整理了下。先看簡單創建語句&#xff1a;create materialized view mv_materialized_test refresh force on demand start with sysdate nextto_date(concat(to_char( s…

為什么直接ping知乎的ip不能訪問知乎的網站,而百度就可以?

結論&#xff1a; 簡單的說&#xff0c;就是baidu有錢。 正文&#xff1a; 大型網站依靠自身稀稀落落的服務器很難滿足網頁“秒開”的用戶需求&#xff0c;會加入CDN加速的隊伍。 當用戶訪問 http://www.zhihu.com 時&#xff0c;域名解析到距離用戶最近的CDN服務器的公網IP&am…

皮膚病

小偏方治百病/《國醫絕學健康館》編委會編.—重慶&#xff1a;重慶出版社&#xff0c;2010.3&#xff08;國醫絕學健康館&#xff09; 濕疹 苦參湯熏洗治陰囊濕疹方 苦參、蛇麻子中藥各50克&#xff0c;混合后&#xff0c;在晚上煎湯&#xff0c;可直接放在臉盆中煎。煎好后&am…

MySQL-ProxySQL中間件(一)| ProxySQL基本概念

目錄 MySQL-ProxySQL中間件&#xff08;一&#xff09;| ProxySQL基本概念&#xff1a; https://www.cnblogs.com/SQLServer2012/p/10972593.htmlMySQL-ProxySQL中間件&#xff08;二&#xff09;| Admin Schemas介紹&#xff1a;https://www.cnblogs.com/SQLServer2012/p/109…

01 ftp上傳簡單示例服務端

import json import socket import structserver socket.socket() server.bind((127.0.0.1,8001)) server.listen() conn,addr server.accept()#首先接收文件的描述信息的長度 struct_data_len conn.recv(4) data_len struct.unpack(i,struct_data_len)[0]# 通過文件信息的…

標簽td設置隱藏(hidden)

這樣設置這個td就不會被其他的td給擠掉了! 還有一種方法就是把tr標簽的solid設置為0px 這個方法把td標簽的left,right,bottom,top的邊框的solid全部設置為0px;轉載于:https://www.cnblogs.com/tranquilityMan/p/10972811.html

Windows Server 2008 NFS

打開Windows Server 2008的Dos運行窗口&#xff08;不是powershell&#xff09;&#xff0c;然后鍵入&#xff1a; servermanagercmd.exe -install FS-NFS-Services 安裝完畢之后&#xff0c;就要把NFS的存貯映射到Windows Server 2008上某個盤符以供使用&#xff0c;但為了…

金融反欺詐模型----項目實戰--機器學習

機器學習&#xff1a;從源數據清洗到特征工程建立談金融反欺詐模型訓練 本文旨在通過一個完整的實戰例子&#xff0c;演示從源數據清洗到特征工程建立&#xff0c;再到模型訓練&#xff0c;以及模型驗證和評估的一個機器學習的完整流程。由于初識機器學習&#xff0c;會比較多的…

快餐文化短視頻源碼行業競爭激烈,短視頻發展任重道遠

隨著移動互聯技術的興起&#xff0c;形式多樣的短視頻源碼軟件為受眾開辟了短視頻時代&#xff0c;賦予視頻以新的時代內涵。梨視頻、美拍、快手、抖音等APP充斥了人們的生活&#xff0c;因此不少人群對視頻軟件產生了依賴感。短視頻源碼APP行業發展至今&#xff0c;產品和營運…

Win7下如何掛載NFS共享目錄

NFS是Unix中廣泛使用的文件共享協議&#xff0c;在Linux下得到了傳承&#xff0c;使用簡單&#xff0c;讀寫性能強大。過去Windows與Linux共享文件夾需要使用Samba&#xff08;CIFS&#xff09;協議&#xff0c;雖然定制性更高&#xff0c;但設置和使用都比較繁瑣。Windows 7加…

使用Chrome瀏覽器自動下載文件并保存到指定的文件路徑(使用Selenium更改Chrome默認下載存儲路徑)...

https://blog.csdn.net/zbj18314469395/article/details/81207268轉載于:https://www.cnblogs.com/person008/p/10980964.html

vue 源碼學習(一) 目錄結構和構建過程簡介

Flow vue框架使用了Flow作為類型檢查&#xff0c;來保證項目的可讀性和維護性。vue.js的主目錄下有Flow的配置.flowconfig文件&#xff0c;還有flow目錄&#xff0c;指定了各種自定義類型。 在學習源碼前可以先看下Flow的語法 官方文檔 目錄結構 vue.js源碼主要在src下 src ├─…

count慢的問題解決

SELECT count(*) FROM (SELECT DISTINCT DMPNN.ID AS NEED_ID, V2 VDMPSX, DMPNN.DMP_NUM AS DMPNN_NUM, DTT.TASK_ID AS TASK_ID, /*任務ID*/ (SELECT NVL(TO_CHAR(workload),) FROM DMP_ALLOCATION_NEED_RESULT dnr WHERE dnr.anr_id DTT.Anr_Id ) GUIBANWORKLOAD, …

SpringBoot + MyBatis(注解版),常用的SQL方法

一、新建項目及配置 1.1 新建一個SpringBoot項目&#xff0c;并在pom.xml下加入以下代碼 <dependency>    <groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.0.1</vers…

項目進行JVM調優 Jconsole

最近對公司的項目進行JVM調優&#xff0c;使用了JDK自帶的jconsole查看Tomcat運行情況&#xff0c;記錄下配置以便以后參考&#xff1a; 首先&#xff0c;修改Tomcat的bin目錄下的catalina.bat文件&#xff0c;在JAVA_OPTS變量中添加下面四行&#xff0c;即可 set JAVA_OPTS %J…