Di AngularJS, saya melihat terkadang kami menggunakan $state.transitionTo()
dan terkadang kami menggunakan $state.go()
. Adakah yang bisa memberi tahu saya bagaimana perbedaannya dan kapan yang satu harus digunakan di atas yang lain?
Di AngularJS, saya melihat terkadang kami menggunakan $state.transitionTo()
dan terkadang kami menggunakan $state.go()
. Adakah yang bisa memberi tahu saya bagaimana perbedaannya dan kapan yang satu harus digunakan di atas yang lain?
Apakah Anda mengacu pada AngularUI Router ? Jika demikian, wiki menentukan perbedaannya :
$ state.go (ke [, toParams] [, opsi])
Mengembalikan Janji yang mewakili keadaan transisi.
Metode kenyamanan untuk bertransisi ke keadaan baru.
$state.go
memanggil secara$state.transitionTo
internal tetapi secara otomatis menyetel opsi ke{ location: true, inherit: true, relative: $state.$current, notify: true }
. Hal ini memungkinkan Anda untuk dengan mudah menggunakan absolut atau relatif ke jalur dan hanya menentukan parameter yang ingin Anda perbarui (sambil membiarkan parameter yang tidak ditentukan mewarisi dari keadaan saat ini).
$ state.transitionTo (ke, toParams [, opsi])
Mengembalikan Janji yang mewakili keadaan transisi.
Metode tingkat rendah untuk bertransisi ke keadaan baru.
$state.go()
digunakan secaratransitionTo
internal.$state.go()
direkomendasikan dalam banyak situasi.
$state.transitionTo
transit ke negara bagian baru. Dalam kebanyakan kasus, Anda tidak harus menggunakannya, Anda mungkin lebih suka$state.go
.Dibutuhkan beberapa parameter dalam sebuah
options
objek:location
: Jikatrue
akan memperbarui url di bilah lokasi, jikafalse
tidak. Jika string"replace"
, akan memperbarui url dan juga mengganti catatan riwayat terakhir.inherit
: Jikatrue
akan mewarisi parameter url dari url saat ini.relative
(stateObject, defaultnull
) : Saat bertransisi dengan jalur relatif (mis. '^'), tentukan status yang menjadi relatif.notify
: Jikatrue
, akan disiarkan$stateChangeStart
dan$stateChangeSuccess
acara.reload
: Jikatrue
akan memaksa transisi meskipun status atau parameter tidak berubah, alias memuat ulang status yang sama.$state.go
adalah semacam pintasan yang memanggil$state.transitionTo
dengan opsi default:location
:true
inherit
:true
relative
:$state.$current
notify
:true
reload
:false
Ini lebih nyaman karena synthax lebih sederhana. Anda dapat memanggilnya hanya dengan nama negara bagian.
sumber