Inhaltsverzeichnis
Vergleich zwischen der Verwendung von Angularjs und Vue.js
Heim Web-Frontend js-Tutorial Was sind die Unterschiede zwischen Angularjs und Vue.js? Einfacher Vergleich

Was sind die Unterschiede zwischen Angularjs und Vue.js? Einfacher Vergleich

Aug 29, 2020 am 10:39 AM
angularjs vue.js

Was sind die Unterschiede zwischen Angularjs und Vue.js? Einfacher Vergleich

Empfohlene Tutorials: „angularjs Tutorial

Wählen Sie Vue anstelle von Angular aus folgenden Gründen, die natürlich nicht für jeden geeignet sind:

Vue.js ist sowohl hinsichtlich der API als auch des Designs besser. Viel einfacher als Angular, sodass Sie alle Funktionen schnell beherrschen und mit der Entwicklung beginnen können.

Vue.js ist eine flexiblere und offenere Lösung. Damit können Sie Ihre Anwendung so organisieren, wie Sie es möchten, ohne sich jederzeit an die von Angular festgelegten Regeln halten zu müssen. Es handelt sich lediglich um eine Ansichtsebene, sodass Sie sie in eine vorhandene Seite einbetten können, ohne sie unbedingt zu einer riesigen Einzelseitenanwendung zu machen. Es gibt Ihnen mehr Raum für die Zusammenarbeit mit anderen Bibliotheken, aber im Gegenzug müssen Sie mehr architektonische Entscheidungen treffen. Beispielsweise umfasst der Vue.js-Kern standardmäßig keine Routing- und Ajax-Funktionalität und geht im Allgemeinen davon aus, dass Sie in Ihrer App ein Modul-Build-System verwenden. Dies ist wahrscheinlich der wichtigste Unterschied.

Angular verwendet eine bidirektionale Bindung, und Vue unterstützt auch eine bidirektionale Bindung, aber die Standardeinstellung ist eine unidirektionale Bindung, und Daten werden von der übergeordneten Komponente in eine Richtung an die untergeordnete Komponente übergeben. Verwenden Sie in großen Anwendungen eine unidirektionale Bindung, um den Datenfluss verständlicher zu machen.

Anweisungen und Komponenten sind in Vue.js klarer getrennt. Direktiven kapseln nur DOM-Operationen, während Komponenten eine in sich geschlossene unabhängige Einheit darstellen – mit eigener Ansicht und Datenlogik. In Angular gibt es große Verwirrung zwischen den beiden.

Vue.js hat eine bessere Leistung und ist sehr, sehr einfach zu optimieren, da es kein Dirty Checking verwendet. Angular wird immer langsamer, wenn mehr Beobachter vorhanden sind, da bei jeder Änderung des Bereichs alle Beobachter neu berechnet werden müssen. Wenn einige Beobachter außerdem ein weiteres Update auslösen, muss der Digest-Zyklus möglicherweise mehrmals ausgeführt werden. Angular-Benutzer greifen häufig auf esoterische Techniken zurück, um das Problem der Dirty-Check-Schleifen zu lösen. Manchmal gibt es keine einfache Möglichkeit, ein Zielfernrohr bei einer großen Anzahl von Beobachtern zu optimieren.

Vue.js hat dieses Problem überhaupt nicht, da es ein Beobachtungssystem verwendet, das auf Abhängigkeitsverfolgung und asynchronen Warteschlangenaktualisierungen basiert. Alle Datenänderungen werden unabhängig voneinander ausgelöst, sofern keine klare Abhängigkeit zwischen ihnen besteht. Die einzige erforderliche Optimierung besteht darin, Track-by auf v-for zu verwenden.

Vergleich zwischen der Verwendung von Angularjs und Vue.js

Frühere Projekte verwendeten alle Angularjs (bitte beachten Sie, dass sich dieser Artikel hauptsächlich auf Angularjs bezieht). 1) Machen Sie nach der ersten Verwendung von Vue.js eine kurze Vergleichsnotiz.
Lassen Sie uns zunächst kurz theoretisch auf ihre jeweiligen Eigenschaften eingehen und diese dann anhand einiger kleiner Beispiele veranschaulichen.

Angular

  • 1, MVVM (Modell) (Ansicht) (Ansichtsmodell)
  • 2, Modular (Modul) Controller (Controller) Abhängigkeitsinjektion:
  • 3, Zwei-Wege-Datenbindung: Schnittstelle Vorgänge können in Echtzeit in den Daten widergespiegelt werden und Datenänderungen können in Echtzeit in der Schnittstelle angezeigt werden.
  • 4, Befehl (ng-click ng-model ng-href ng-src ng-if...)
  • 5, Service Service ($compile $filter $interval $timeout $http...)

unter Die Implementierung der bidirektionalen Datenbindung verwendet die Erkennung schmutziger Werte von $scope-Variablen, wobei die Erkennung von $scope.$watch (Ansicht zu Modell) und $scope.$apply (Modell zu Ansicht) verwendet wird, und die internen Aufrufe sind Digest Of Natürlich kann $scope.$digest auch direkt zur Dirty-Prüfung aufgerufen werden. Es ist zu beachten, dass die Dirty-Erkennung bei sehr häufigen Datenänderungen viel Browserleistung beansprucht. Der offizielle maximale Wert für die Dirty-Erkennung beträgt 2000 Daten.

Vue

vue.js offizielle Website: Es ist ein fortschrittliches Framework zum Erstellen von Benutzeroberflächen. Im Gegensatz zu anderen Schwergewichts-Frameworks verwendet Vue ein inkrementelles Bottom-up-Entwicklungsdesign. Die Kernbibliothek von Vue konzentriert sich nur auf die Ansichtsebene und ist sehr einfach zu erlernen und in andere Bibliotheken oder bestehende Projekte zu integrieren. Vue hingegen ist vollständig in der Lage, komplexe Single-Page-Anwendungen zu steuern, die mit Single-File-Komponenten und Bibliotheken entwickelt werden, die vom Vue-Ökosystem unterstützt werden.

Das Ziel von Vue.js besteht darin, eine reaktionsfähige Datenbindung und zusammengesetzte Ansichtskomponenten über eine möglichst einfache API zu implementieren.

  • (1) Modularisierung ist derzeit die direkte Verwendung der ES6-Modularisierung im Projekt und die Kombination mit Webpack für die Projektverpackung.
  • (2) Komponentisierung: Erstellen Sie eine einzelne Komponentendatei mit dem Suffix .vue Vorlage (HTML-Code), Skript (ES6-Code), Stil (CSS-Stil)
  • (3) Routing,

vue ist sehr klein, der minimale Quellcode beträgt 72,9 KB nach der Komprimierung und nur 25,11 KB nach der GZIP-Komprimierung. Das sind im Vergleich zu Angular 144 KB. Sie können es selbst mit den erforderlichen Bibliotheks-Plug-Ins verwenden, z. B. Routing-Plug-Ins (Vue-Router), Ajax-Plug-Ins (Vue-Ressource) usw.

Der Code ist direkt unten

Das erste ist natürlich Hello World

vue

<div id="app">  {{ message }}</div> new Vue({  el: &#39;#app&#39;,  data: {    message: &#39;Hello Vue.js!&#39;  }})
Nach dem Login kopieren

Angular

<div ng-app="myApp" ng-controller="myCtrl"> {{message}}</div> var app = angular.module(&#39;myApp&#39;, []);app.controller(&#39;myCtrl&#39;, function($scope) {    $scope.message = "Hello world";});
Nach dem Login kopieren

Im Vergleich dazu verwendet Vue das JSON-Datenformat zum Schreiben von Dom und Daten, und der Schreibstil ist mehr Basierend auf dem js-Datenkodierungsformat, das leicht zu verstehen ist.

Vues bidirektionale Datenbindung

<div id="app">  <p>{{ message }}</p>  <input v-model="message"></div> new Vue({  el: &#39;#app&#39;,  data: {    message: &#39;Hello Vue.js!&#39;  }})
Nach dem Login kopieren

Angular的双向数据绑定

<div ng-app="myApp" ng-controller="myCtrl">  <p>{{message}}</p>  <input ng-model="message"></div> var app = angular.module(&#39;myApp&#39;, []);app.controller(&#39;myCtrl&#39;, function($scope) {    $scope.message = "Hello world!";});
Nach dem Login kopieren

vue虽然是一个轻量级的框架,提供的API确非常多,包括一些便捷的指令和属性操作,一般vue是指令使用(v-)操作符,相比angularjs指令使用(ng-)。其中vue.js还支持指令的简写方式:

  • (1)事件click

    简写方式:

  • (2)属性

    [](http://www.cnblogs.com/summer7310/p/url))
    简写方式:

vue.渲染列表

<div id="app">  <ul>    <li v-for="name in names">      {{ name.first }}    </li>  </ul></div> new Vue({  el: &#39;#app&#39;,  data: {    names: [      { first: &#39;summer&#39;, last: &#39;7310&#39; },      { first: &#39;David&#39;, last:&#39;666&#39; },      { first: &#39;Json&#39;, last:&#39;888&#39; }    ]  }})
Nach dem Login kopieren

Angularjs渲染列表

<div ng-app="myApp" ng-controller="myCtrl">  <li ng-repeat="name in names">{{name.first}}</li></div> var app = angular.module(&#39;myApp&#39;, []);app.controller(&#39;myCtrl&#39;, function($scope) {    $scope.names = [      { first: &#39;summer&#39;, last: &#39;7310&#39; },      { first: &#39;David&#39;, last:&#39;666&#39; },      { first: &#39;Json&#39;, last:&#39;888&#39; }    ]});
Nach dem Login kopieren

vue的循环

<ul>    <li v-for="item in list">        <a :href="item.url">{{item.title}}</a>    </li></ul>
Nach dem Login kopieren

angular和vue的渲染差不多

<div class="item" ng-repeat="news in  newsList">    <a ng-href="#/content/{{news.id}}">        <img ng-src="{{news.img}}" />        <div class="item-info">            <h3 class="item-title">{{news.title}}</h3>            <p class="item-time">{{news.createTime}}</p>        </div>    </a></div>
Nach dem Login kopieren

vue和Angular处理用户输入

<div id="app">  <p>{{ message }}</p>  <button v-on:click="reverseMessage">Reverse Message</button></div> new Vue({  el: &#39;#app&#39;,  data: {    message: &#39;Hello Vue.js!&#39;  },  methods: {    reverseMessage: function () {      this.message = this.message.split(&#39;&#39;).reverse().join(&#39;&#39;)    }  }})
Nach dem Login kopieren
<div ng-app="myApp" ng-controller="myCtrl"> <p>{{ message }}</p> <button ng-click="reverseMessage()">Reverse Message</button></div> var app = angular.module(&#39;myApp&#39;, []);app.controller(&#39;myCtrl&#39;, function($scope) {    $scope.message = "Hello world!";    $scope.reverseMessage = function() {        this.message = this.message.split(&#39;&#39;).reverse().join(&#39;&#39;)    }});
Nach dem Login kopieren

相关教程推荐:《angular教程》、《vue教程

Das obige ist der detaillierte Inhalt vonWas sind die Unterschiede zwischen Angularjs und Vue.js? Einfacher Vergleich. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Ausführliche Diskussion darüber, wie Vite .env-Dateien analysiert Ausführliche Diskussion darüber, wie Vite .env-Dateien analysiert Jan 24, 2023 am 05:30 AM

Wenn wir das Vue-Framework zum Entwickeln von Front-End-Projekten verwenden, stellen wir bei der Bereitstellung mehrere Umgebungen bereit. Oft sind die von Entwicklungs-, Test- und Online-Umgebungen aufgerufenen Schnittstellendomänen unterschiedlich. Wie können wir die Unterscheidung treffen? Dabei werden Umgebungsvariablen und Muster verwendet.

Detaillierte grafische Erklärung zur Integration des Ace-Code-Editors in ein Vue-Projekt Detaillierte grafische Erklärung zur Integration des Ace-Code-Editors in ein Vue-Projekt Apr 24, 2023 am 10:52 AM

Ace ist ein in JavaScript geschriebener einbettbarer Code-Editor. Es entspricht der Funktionalität und Leistung nativer Editoren wie Sublime, Vim und TextMate. Es kann problemlos in jede Webseite und JavaScript-Anwendung eingebettet werden. Ace wird als Haupteditor für die Cloud9-IDE gepflegt und ist der Nachfolger des Mozilla Skywriter (Bespin)-Projekts.

Was ist der Unterschied zwischen Komponentisierung und Modularisierung in Vue? Was ist der Unterschied zwischen Komponentisierung und Modularisierung in Vue? Dec 15, 2022 pm 12:54 PM

Der Unterschied zwischen Komponentisierung und Modularisierung: Die Modularisierung ist aus Sicht der Codelogik unterteilt. Sie erleichtert die Entwicklung auf Codeebene und stellt sicher, dass die Funktionen jedes Funktionsmoduls konsistent sind. Die Komponentisierung ist die Planung aus der Perspektive der UI-Schnittstelle; die Komponentisierung des Frontends erleichtert die Wiederverwendung von UI-Komponenten.

Erfahren Sie, wie Sie Unit-Tests in Vue3 schreiben Erfahren Sie, wie Sie Unit-Tests in Vue3 schreiben Apr 25, 2023 pm 07:41 PM

Vue.js ist heute ein sehr beliebtes Framework in der Front-End-Entwicklung. Da sich Vue.js ständig weiterentwickelt, werden Unit-Tests immer wichtiger. Heute untersuchen wir, wie man Unit-Tests in Vue.js 3 schreibt, und stellen einige Best Practices sowie häufige Probleme und Lösungen vor.

Lassen Sie uns ausführlich über reactive() in vue3 sprechen Lassen Sie uns ausführlich über reactive() in vue3 sprechen Jan 06, 2023 pm 09:21 PM

Vorwort: Bei der Entwicklung von vue3 bietet reactive eine Methode zur Implementierung reaktionsfähiger Daten. Dies ist eine häufig verwendete API in der täglichen Entwicklung. In diesem Artikel wird der Autor seinen internen Betriebsmechanismus untersuchen.

Ein einfacher Vergleich der JSX-Syntax und der Template-Syntax in Vue (Analyse der Vor- und Nachteile) Ein einfacher Vergleich der JSX-Syntax und der Template-Syntax in Vue (Analyse der Vor- und Nachteile) Mar 23, 2023 pm 07:53 PM

In Vue.js können Entwickler zwei verschiedene Syntaxen zum Erstellen von Benutzeroberflächen verwenden: JSX-Syntax und Vorlagensyntax. Beide Syntaxen haben ihre eigenen Vor- und Nachteile. Lassen Sie uns ihre Unterschiede, Vor- und Nachteile besprechen.

Eine kurze Analyse, wie Vue den Datei-Slicing-Upload implementiert Eine kurze Analyse, wie Vue den Datei-Slicing-Upload implementiert Mar 24, 2023 pm 07:40 PM

Im eigentlichen Entwicklungsprojektprozess ist es manchmal erforderlich, relativ große Dateien hochzuladen, und dann ist der Upload relativ langsam, sodass das Front-End möglicherweise das Hochladen von Dateiabschnitten erfordert. Dies ist beispielsweise sehr einfach Der Gigabyte-Dateistrom wird in mehrere kleine Dateiströme aufgeteilt, und dann wird die Schnittstelle aufgefordert, die jeweiligen kleinen Dateiströme zu liefern.

Analysieren Sie das Prinzip der Implementierung der Kompositions-API durch Vue2 Analysieren Sie das Prinzip der Implementierung der Kompositions-API durch Vue2 Jan 13, 2023 am 08:30 AM

Seit der Veröffentlichung von Vue3 ist die Wortkompositions-API in das Blickfeld der Vue-Schreibenden gerückt. Ich glaube, jeder hat aufgrund der Veröffentlichung von @ immer gehört, wie viel besser die Kompositions-API ist als die vorherige Options-API. vue/composition-api-Plug-in, Vue2-Studenten können ebenfalls in den Bus einsteigen. Als Nächstes werden wir hauptsächlich Responsive Ref und Reactive verwenden, um eine eingehende Analyse durchzuführen, wie dieses Plug-In dies erreicht.

See all articles