AngularjsとVue.jsを使用した比較
この記事の内容は、Angularjs と Vue.js の使用の比較に関するものです。必要な友達はそれを参考にしてください。
Angularjs と Vue.js の使用の比較
まず最初に、理論的にそれぞれの特徴について簡単に説明し、それからいくつかの小さな例を使用してそれらを説明しましょう。
1、MVVM (モデル) (ビュー) (ビューモデル)
2、モジュラー (モジュール) コントローラー (コントローラー) 依存関係の注入:
3、双方向データ バインディング :インターフェースの操作をリアルタイムにデータに反映でき、データの変更をリアルタイムにインターフェースに表示できます。
4, コマンド (ng-click ng-bind ng-model ng-href ng-src ng-if/ng-show...)
- 5, サービス Service($compile $filter $interval $タイムアウト $http...)
- 6、ルーティング (ng-Route ネイティブ ルーティング)、ui-router (ルーティング コンポーネント)
- 7、Ajax カプセル化 ($http)
- 双方向データを含むバインディング この実装では、$scope.$watch (ビューからモデル)、$scope.$apply (モデルからビュー) の検出を使用して、$scope 変数のダーティ値検出を使用します。内部呼び出しはダイジェストです。もちろん、$ を呼び出すこともできます。スコープを直接 .$digest はダーティ チェックを実行します。データが頻繁に変更される場合、ダーティ検出によりブラウザのパフォーマンスが大幅に消費されることに注意してください。公式の最大ダーティ検出値は 2000 データです。
Vue
vue.js 公式ウェブサイト: ユーザー インターフェイスを構築するための - 進歩的なフレームワーク
のセットです。他の重量級フレームワークとは異なり、Vue はボトムアップの増分開発設計を採用しています。 Vue のコア ライブラリはビュー レイヤーのみに焦点を当てており、学習や他のライブラリや既存のプロジェクトとの統合が非常に簡単です。一方、Vue は、
単一ファイル コンポーネント と - Vue エコシステムでサポートされるライブラリ
を使用して開発された複雑なシングルページ アプリケーションを強化することができます。
Vue.js の目標は、可能な限り単純な API を介して - レスポンシブ データ バインディング
と
合成ビュー コンポーネント を実装することです。
(1) モジュール化。現在、最もホットな方法は、プロジェクトで ES6 モジュール化を直接使用し、それをプロジェクトのパッケージ化に Webpack と組み合わせることです。
(2) コンポーネント化、接尾辞 . vue 、テンプレート (html コード)、スクリプト (es6 コード)、スタイル (css スタイル) を含む (3) 双方向データ バインディング: インターフェイスの操作をリアルタイムでデータに反映でき、データの変化をリアルタイムでインターフェースに表示できます。
(4) コマンド (v-html v-bind v-model v-if/v-show...) (5) ルーティング (vue-router)
(6) vuexデータ共有
(7) Ajaxプラグイン(vue-resource、axios)
vue は非常に小さく、圧縮後の最小ソースコードは 25.11 kb で、必要なライブラリ プラグインを使用して自分で使用できます。ルーティング プラグイン (Vue-router) や Ajax プラグイン (vue -resource、axios) など
Vue と Angular 間の双方向データ バインディングの原則
angular.js: ダーティ値check
angular.js はダーティ値検出を使用して、ビューを更新するかどうかを判断します。最も簡単な方法は、setInterval() を通じてデータ変更を検出するために定期的にポーリングすることです。 Angular は、指定されたイベントがトリガーされた場合にのみダーティ値検出を開始します。これは、おおよそ次のとおりです:
DOM イベント、たとえば、ユーザーがテキストを入力したり、ボタンをクリックしたりするなど。 (ng-click)
) または $apply()
- vue :
- データハイジャック vue.js は、データハイジャックをパブリッシャー/サブスクライバーモデルと組み合わせて使用し、次の方法で各プロパティのセッターをハイジャックします。 Object.defineProperty() ゲッターは、データが変更されたときにサブスクライバーにメッセージをパブリッシュし、対応するリスニング コールバックをトリガーします。 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/definePropertydefineProperty
コードはすぐ下にあります
最初はもちろんHello Worldです
vue<p id="app">
{{ message }}
</p>
new Vue({
el: '#app',
data: {
message: 'Hello Vue.js!'
}
})
<p ng-app="myApp" ng-controller="myCtrl">
{{message}}
</p>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
$scope.message = "Hello world";
});
Vue の双方向データ バインディング
<p id="app"> <p>{{ message }}</p> <input v-model="message"> </p> new Vue({ el: '#app', data: { message: 'Hello Vue.js!' } })
Angular の双方向データ バインディング
<p ng-app="myApp" ng-controller="myCtrl"> <p>{{message}}</p> <input ng-model="message"> </p> var app = angular.module('myApp', []); app.controller('myCtrl', function($scope) { $scope.message = "Hello world!"; });
Vue は軽量のフレームワークですが、いくつかの便利な命令や属性操作を含む多くの API を提供します。ディレクティブ (ng-) を使用する angularjs ディレクティブと比較して、(v-) 演算子を使用します。その中で、vue.js は命令の省略形もサポートしています:
(1) イベント click
<a v-on: click="fn"></a>
略語:
< ;/a>
(2)属性
略語:
<a :href="url"></a>
<a v-bind: href="url"></a>
vue.渲染列表
<p id="app"> <ul> <li v-for="name in names"> {{ name.first }} </li> </ul> </p> new Vue({ el: '#app', data: { names: [ { first: 'summer', last: '7310' }, { first: 'David', last:'666' }, { first: 'Json', last:'888' } ] } })
Angularjs渲染列表
<p ng-app="myApp" ng-controller="myCtrl"> <li ng-repeat="name in names">{{name.first}}</li> </p> var app = angular.module('myApp', []); app.controller('myCtrl', function($scope) { $scope.names = [ { first: 'summer', last: '7310' }, { first: 'David', last:'666' }, { first: 'Json', last:'888' } ] });
vue的循环
<ul> <li v-for="item in list"> <a :href="item.url">{{item.title}}</a> </li> </ul>
angular和vue的渲染差不多
<p class="item" ng-repeat="news in newsList"> <a ng-href="#/content/{{news.id}}"> <img ng-src="{{news.img}}" /> <p class="item-info"> <h3 class="item-title">{{news.title}}</h3> <p class="item-time">{{news.createTime}}</p> </p> </a> </p>
vue和Angular处理用户输入
<p id="app"> <p>{{ message }}</p> <button v-on:click="reverseMessage">Reverse Message</button> </p> new Vue({ el: '#app', data: { message: 'Hello Vue.js!' }, methods: { reverseMessage: function () { this.message = this.message.split('').reverse().join('') } } })
<p ng-app="myApp" ng-controller="myCtrl"> <p>{{ message }}</p> <button ng-click="reverseMessage()">Reverse Message</button> </p> var app = angular.module('myApp', []); app.controller('myCtrl', function($scope) { $scope.message = "Hello world!"; $scope.reverseMessage = function() { this.message = this.message.split('').reverse().join('') } });
相关推荐:
以上がAngularjsとVue.jsを使用した比較の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 はじめに: 技術の継続的な発展により、音声認識技術は人工知能の分野の重要な部分になりました。 WebSocket と JavaScript をベースとしたオンライン音声認識システムは、低遅延、リアルタイム、クロスプラットフォームという特徴があり、広く使用されるソリューションとなっています。この記事では、WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法を紹介します。

WebSocketとJavaScript:リアルタイム監視システムを実現するためのキーテクノロジー はじめに: インターネット技術の急速な発展に伴い、リアルタイム監視システムは様々な分野で広く利用されています。リアルタイム監視を実現するための重要なテクノロジーの 1 つは、WebSocket と JavaScript の組み合わせです。この記事では、リアルタイム監視システムにおける WebSocket と JavaScript のアプリケーションを紹介し、コード例を示し、その実装原理を詳しく説明します。 1.WebSocketテクノロジー

JavaScript と WebSocket を使用してリアルタイム オンライン注文システムを実装する方法の紹介: インターネットの普及とテクノロジーの進歩に伴い、ますます多くのレストランがオンライン注文サービスを提供し始めています。リアルタイムのオンライン注文システムを実装するには、JavaScript と WebSocket テクノロジを使用できます。 WebSocket は、TCP プロトコルをベースとした全二重通信プロトコルで、クライアントとサーバー間のリアルタイム双方向通信を実現します。リアルタイムオンラインオーダーシステムにおいて、ユーザーが料理を選択して注文するとき

WebSocket と JavaScript を使用してオンライン予約システムを実装する方法 今日のデジタル時代では、ますます多くの企業やサービスがオンライン予約機能を提供する必要があります。効率的かつリアルタイムのオンライン予約システムを実装することが重要です。この記事では、WebSocket と JavaScript を使用してオンライン予約システムを実装する方法と、具体的なコード例を紹介します。 1. WebSocket とは何ですか? WebSocket は、単一の TCP 接続における全二重方式です。

JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 はじめに: 今日、天気予報の精度は日常生活と意思決定にとって非常に重要です。テクノロジーの発展に伴い、リアルタイムで気象データを取得することで、より正確で信頼性の高い天気予報を提供できるようになりました。この記事では、JavaScript と WebSocket テクノロジを使用して効率的なリアルタイム天気予報システムを構築する方法を学びます。この記事では、具体的なコード例を通じて実装プロセスを説明します。私たちは

JavaScript チュートリアル: HTTP ステータス コードを取得する方法、特定のコード例が必要です 序文: Web 開発では、サーバーとのデータ対話が頻繁に発生します。サーバーと通信するとき、多くの場合、返された HTTP ステータス コードを取得して操作が成功したかどうかを判断し、さまざまなステータス コードに基づいて対応する処理を実行する必要があります。この記事では、JavaScript を使用して HTTP ステータス コードを取得する方法を説明し、いくつかの実用的なコード例を示します。 XMLHttpRequestの使用

使用法: JavaScript では、insertBefore() メソッドを使用して、DOM ツリーに新しいノードを挿入します。このメソッドには、挿入される新しいノードと参照ノード (つまり、新しいノードが挿入されるノード) の 2 つのパラメータが必要です。

JavaScript は Web 開発で広く使用されているプログラミング言語であり、WebSocket はリアルタイム通信に使用されるネットワーク プロトコルです。 2 つの強力な機能を組み合わせることで、効率的なリアルタイム画像処理システムを構築できます。この記事では、JavaScript と WebSocket を使用してこのシステムを実装する方法と、具体的なコード例を紹介します。まず、リアルタイム画像処理システムの要件と目標を明確にする必要があります。リアルタイムの画像データを収集できるカメラ デバイスがあるとします。
