Bagaimana untuk Lulus Parameter kepada Pengawal Menggunakan ui-sref dalam UI-Router?

Mary-Kate Olsen
Lepaskan: 2024-11-07 07:51:03
asal
360 orang telah melayarinya

How to Pass Parameters to a Controller Using ui-sref in UI-Router?

Melalui Parameter ke Pengawal Menggunakan ui-sref dalam UI-Router

Dalam UI-Router, menghantar parameter kepada pengawal melalui ui-sref adalah elemen penting untuk berkongsi data antara negeri. Begini cara untuk menyelesaikan tugas ini dengan berkesan:

Untuk bermula, tentukan URL keadaan sasaran untuk memasukkan ruang letak parameter menggunakan sintaks bertindih, seperti yang dilihat dalam definisi keadaan dikemas kini yang ditunjukkan di bawah:

$stateProvider
.state('home', {
  url: '/:foo?bar',
  ...
Salin selepas log masuk

Dalam contoh ini, keadaan 'home' menjangkakan parameter 'foo' dan 'bar' dalam laluan URL.

Seterusnya, laraskan pengawal untuk menerima parameter ini dengan betul:

.controller('MainRootCtrl', function($scope, $state, $stateParams) {
  // ...
  var foo = $stateParams.foo; // Accessing 'fooVal'
  var bar = $stateParams.bar; // Accessing 'barVal'
  // ...
Salin selepas log masuk

Dalam pengawal ini, kami menyuntik $stateParams dan bukannya $stateParam, yang memberi kami akses kepada parameter yang diluluskan.

Selain itu, UI-Router juga menyediakan konfigurasi parameter yang terperinci melalui objek 'params' dalam keadaan takrifan. Pilihan ini membolehkan anda menentukan nilai lalai, mengenakan kekangan jenis dan banyak lagi.

Sebagai contoh, pertimbangkan konfigurasi parameter lanjutan ini:

.state('other', {
  url: '/other/:foo?bar',
  params: {
    foo: {
      value: 'defaultValue',
      squash: false,
    },
    bar: {
      array: true, // Treat bar as an array
    },
    hiddenParam: 'YES', // Not present in the URL
  },
  ...
Salin selepas log masuk

Konfigurasi ini menunjukkan cara kami boleh menentukan nilai lalai untuk parameter dan mengawal tingkah lakunya dalam URL.

Akhir sekali, ingat untuk lulus parameter apabila menavigasi ke keadaan yang dikehendaki menggunakan sama ada atribut 'ui-sref' atau kaedah '$state.go()':

<a ui-sref="other({foo: 'fooVal1', bar: 'barVal1'})">...</a>
$state.go('home', {foo: 'fooVal2', bar: 'barVal2'});
Salin selepas log masuk

Dengan melaksanakan pendekatan ini, anda boleh menghantar parameter dengan cekap kepada pengawal menggunakan ui-sref dalam UI-Router, memastikan peralihan keadaan lancar dan perkongsian data dalam aplikasi AngularJS anda.

Atas ialah kandungan terperinci Bagaimana untuk Lulus Parameter kepada Pengawal Menggunakan ui-sref dalam UI-Router?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!