Tolong jelaskan perbedaan antara $routeProvider
dan $stateProvider
di AngularJS.
Yang merupakan praktik terbaik?
Tolong jelaskan perbedaan antara $routeProvider
dan $stateProvider
di AngularJS.
Yang merupakan praktik terbaik?
Keduanya melakukan pekerjaan yang sama seperti yang digunakan untuk keperluan routing di SPA (Aplikasi Halaman Tunggal).
URL ke pengontrol dan tampilan (sebagian HTML). Ia mengawasi $ location.url () dan mencoba memetakan jalur ke definisi rute yang ada.
HTML
<div ng-view></div>
Tag di atas akan merender template dari $routeProvider.when()
kondisi yang Anda sebutkan di .config
(tahap konfigurasi) sudut
Keterbatasan: -
ng-view
halaman$routeProvider
gagal. (untuk mencapai itu, kita perlu menggunakan arahan seperti ng-include
, ng-switch
, ng-if
, ng-show
, yang terlihat buruk untuk memiliki mereka di SPA)Router AngularUI adalah kerangka kerja perutean untuk AngularJS, yang memungkinkan Anda untuk mengatur bagian-bagian antarmuka Anda menjadi mesin negara. UI-Router diatur di sekitar negara bagian, yang secara opsional memiliki rute, serta perilaku lainnya, yang dilampirkan.
Beberapa & Bernama Tampilan
Fitur hebat lainnya adalah kemampuan untuk memiliki banyak ui-view dalam sebuah templat.
Sementara beberapa tampilan paralel adalah fitur yang kuat, Anda akan sering dapat mengelola antarmuka Anda lebih efektif dengan membuat sarang Anda view
, dan memasangkan pandangan tersebut dengan status bersarang.
HTML
<div ui-view>
<div ui-view='header'></div>
<div ui-view='content'></div>
<div ui-view='footer'></div>
</div>
Mayoritas ui-router
kekuatannya adalah ia dapat mengatur status & tampilan bersarang.
Pro
ui-view
halaman sekaligusui-view="some"
status hanya dengan menggunakan rute absolut menggunakan @
nama negara.@
perubahan ui-view="some"
. Ini akan menggantikan ui-view
alih - alih memeriksa apakah bersarang atau tidak.ui-sref
untuk membuat href
URL secara dinamis berdasarkan yang URL
disebutkan dalam keadaan, juga Anda dapat memberikan params negara dalam json
format.Untuk Informasi Lebih Lanjut Angular ui-router
Untuk fleksibilitas yang lebih baik dengan berbagai tampilan bersarang dengan status, saya lebih suka Anda menggunakan ui-router
$stateProvider
&$routeProvider
Ng-Router Angular sendiri
URLs
mempertimbangkan saat routing, UI-Router mengambilstates
tambahan URL.Saat berada di ng-router, Anda harus sangat berhati-hati tentang URL saat memberikan tautan melalui
<a href="">
tag, di UI-Router Anda hanya perlustate
mengingatnya. Anda memberikan tautan seperti<a ui-sref="">
. Perhatikan bahwa bahkan jika Anda menggunakan<a href="">
di UI-Router, seperti yang Anda lakukan di ng-router, itu akan tetap berfungsi.Jadi, meskipun Anda memutuskan untuk mengubah URL suatu hari, Anda
state
akan tetap sama dan Anda hanya perlu mengubah URL di.config
.Meskipun ngRouter dapat digunakan untuk membuat aplikasi sederhana, UI-Router membuat pengembangan aplikasi jauh lebih mudah. Ini wiki -nya .
sumber
$ route: Ini digunakan untuk menghubungkan URL ke pengontrol dan tampilan (sebagian HTML) dan menonton $ location.url () untuk memetakan jalur dari definisi rute yang ada.
Ketika kita menggunakan ngRoute, rute dikonfigurasi dengan $ routeProvider dan ketika kita menggunakan ui-router, rute tersebut dikonfigurasi dengan $ stateProvider dan $ urlRouterProvider.
sumber