Perbezaan: 1. Angularjs sukar untuk dimulakan, tetapi vuejs mudah dan mudah dipelajari 2. Arahan sudut ialah “ng-xxx”, manakala vue ialah “v-xxx”; Semua arahan dan kaedah sudut adalah Ia terikat kepada $skop, dan semua kaedah dan arahan vue terikat kepada contoh vue.
Persekitaran pengendalian tutorial ini: sistem Windows 7, vue versi 2.9.6, komputer DELL G3.
Projek sebelumnya semuanya menggunakan Angularjs, (sila ambil perhatian bahawa artikel ini terutamanya bercakap tentang Angularjs 1) Selepas penggunaan awal Vue.js Nota perbandingan mudah.
Pertama sekali, mari kita bercakap secara ringkas tentang ciri masing-masing secara teori, dan kemudian gunakan beberapa contoh kecil untuk menggambarkannya.
Pelaksanaan pengikatan data dua hala menggunakan pengesanan nilai kotor pembolehubah $skop, menggunakan $scope.$watch (lihat ke model), $scope.$apply (model untuk melihat) pengesanan, dalaman Semua panggilan adalah digest Sudah tentu, anda juga boleh menghubungi $scope.$digest terus untuk pemeriksaan kotor. Perlu diingat bahawa apabila data berubah dengan sangat kerap, pengesanan kotor akan memakan banyak prestasi pelayar Nilai pengesanan kotor maksimum rasmi ialah 2000 keping data.
tapak web rasmi vue.js: Ia ialah rangka kerja progresif untuk membina antara muka pengguna. Tidak seperti rangka kerja heavyweight lain, Vue menggunakan reka bentuk pembangunan tambahan dari bawah ke atas. Pustaka teras Vue hanya menumpukan pada paparan lapisan , dan sangat mudah dipelajari serta disepadukan dengan perpustakaan lain atau projek sedia ada. Vue, sebaliknya, mampu sepenuhnya menjanakan aplikasi satu halaman kompleks yang dibangunkan dengan Komponen Fail Tunggal dan Perpustakaan yang disokong oleh ekosistem Vue.
Matlamat Vue.js adalah untuk melaksanakan pengikatan data responsif dan komponen paparan tersusun melalui API yang paling mudah.
vue sangat kecil, kod sumber min termampat ialah 72.9kb , selepas pemampatan gzip Ia hanya 25.11kb, iaitu 144kb berbanding dengan Angular Anda boleh menggunakannya sendiri dengan pemalam perpustakaan yang diperlukan, seperti pemalam penghalaan (Vue-router), pemalam Ajax (vue-. sumber, aksios), dsb.
angular.js: Semakan nilai kotor
angular.js membandingkan data melalui pengesanan nilai kotor Jika terdapat perubahan, cara paling mudah untuk memutuskan sama ada untuk mengemas kini paparan ialah menggunakan setInterval() untuk membuat tinjauan secara kerap untuk mengesan perubahan data. Google tidak akan begitu perlahan. Angular hanya memasuki pengesanan nilai kotor apabila peristiwa yang ditentukan dicetuskan, iaitu kira-kira seperti berikut:
vue: Rampasan data
vue.js sedang Menggunakan data rampasan digabungkan dengan model penerbit-pelanggan, Object.defineProperty() digunakan untuk merampas penetap dan getter bagi setiap sifat, menerbitkan mesej kepada pelanggan apabila data berubah dan mencetuskan panggilan balik pendengaran yang sepadan. https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/definePropertydefineProperty
Kod itu betul-betul di bawah
Yang pertama sudah tentu Hello World
<div id="app"> {{ message }} </div> new Vue({ el: '#app', data: { message: 'Hello Vue.js!' } })
<div ng-app="myApp" ng-controller="myCtrl"> {{message}} </div> var app = angular.module('myApp', []); app.controller('myCtrl', function($scope) { $scope.message = "Hello world"; });
Sebagai perbandingan, vue menggunakan format data json untuk menulis dom dan data, dan gaya penulisan lebih serupa dengan js Format pengekodan data mudah difahami.
<div id="app"> <p>{{ message }}</p> <input v-model="message"> </div> new Vue({ el: '#app', data: { message: 'Hello Vue.js!' } })
<div ng-app="myApp" ng-controller="myCtrl"> <p>{{message}}</p> <input ng-model="message"> </div> var app = angular.module('myApp', []); app.controller('myCtrl', function($scope) { $scope.message = "Hello world!"; });
Walaupun vue ialah rangka kerja yang ringan, API yang disediakannya adalah memang Terdapat banyak, termasuk beberapa arahan mudah dan operasi atribut Secara amnya, arahan Vue menggunakan operator (v-), berbanding dengan arahan angularjs menggunakan (ng-). Antaranya, vue.js juga menyokong singkatan arahan:
(1) klik acara
<a v-on: click="fn"></a>
简写方式:<a @click="fn"></a>
(2)属性
<a v-bind: href="url"></a>
简写方式:<a :href="url"></a>
<div id="app"> <ul> <li v-for="name in names"> {{ name.first }} </li> </ul> </div> new Vue({ el: '#app', data: { names: [ { first: 'summer', last: '7310' }, { first: 'David', last:'666' }, { first: 'Json', last:'888' } ] } })
<div ng-app="myApp" ng-controller="myCtrl"> <li ng-repeat="name in names">{{name.first}}</li> </div> var app = angular.module('myApp', []); app.controller('myCtrl', function($scope) { $scope.names = [ { first: 'summer', last: '7310' }, { first: 'David', last:'666' }, { first: 'Json', last:'888' } ] });
<ul> <li v-for="item in list"> <a :href="item.url">{{item.title}}</a> </li> </ul>
<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>
<div id="app"> <p>{{ message }}</p> <button v-on:click="reverseMessage">Reverse Message</button> </div> new Vue({ el: '#app', data: { message: 'Hello Vue.js!' }, methods: { reverseMessage: function () { this.message = this.message.split('').reverse().join('') } } })
<div ng-app="myApp" ng-controller="myCtrl"> <p>{{ message }}</p> <button ng-click="reverseMessage()">Reverse Message</button> </div> 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和vuejs的区别
1、angularJS上手难,而vueJS简单易学;
2、angularJS的指令都是ng-xxx,而vueJS的指令都是v-xxx;
3、angularJS的所有指令和方法都是绑定在$scope上的,而vueJS是new出来一个实例,所有的方法和指令都在这个实例上,一个页面上可以有多个vue实例,但是angularJS的对象只能有一个;
4、angularJS是由google开发和维护的,vueJS是由个人维护的;
5、vueJS一般用于移动端的开发,而angularJS一般应用于大型的项目。
更多编程相关知识,请访问:编程学习!!
Atas ialah kandungan terperinci Apakah perbezaan antara vuejs dan angularjs. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!