Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimanakah cara saya menghantar Parameter kepada Pengawal dalam UI-Router?

Bagaimanakah cara saya menghantar Parameter kepada Pengawal dalam UI-Router?

Patricia Arquette
Patricia Arquetteasal
2024-11-08 08:56:02761semak imbas

How do I Pass Parameters to Controllers in UI-Router?

Melalukan Parameter kepada Pengawal dalam UI-Router

Dalam UI-Router, anda boleh menggunakan arahan ui-sref untuk menavigasi antara keadaan dan lulus parameter kepada pengawal mereka. Untuk mencapainya, ikuti langkah berikut:

Tentukan Parameter dalam Konfigurasi Negeri:

Ubah suai definisi keadaan anda untuk memasukkan parameter yang dijangkakan sebagai sebahagian daripada URL:

.state('home', {
  url: '/:foo?bar', // Include parameters in the URL path
  ...
});

Parameter Akses dalam Pengawal:

Dalam pengawal, anda boleh mengakses parameter yang diluluskan melalui perkhidmatan $stateParams. Pastikan anda menggunakan $stateParams dan bukannya $stateParam.

app.controller('SomeController', function($scope, $stateParams) {
  var foo = $stateParams.foo;
  var bar = $stateParams.bar;
});     

Contoh:

Pertimbangkan definisi keadaan berikut:

.state('home', {
  url: '/',
  params: {
    foo: {
      value: 'fooVal',
      squash: false,
    },
  },
  ...
});

Dalam ini kes, anda boleh menghantar parameter ke keadaan rumah menggunakan UI-SREF:

<a ui-sref="home({foo: 'customVal'})">Go to home state</a>

Pilihan Tambahan Menggunakan params:

Anda boleh mengkonfigurasi parameter tersuai menggunakan objek params dalam definisi keadaan, termasuk:

  • nilai: Tentukan nilai lalai.
  • tatasusunan: Rawat parameter sebagai tatasusunan.
  • labu: Kawal cara nilai lalai diwakili dalam URL.

Kesimpulan:

Dengan mengikuti langkah ini, anda boleh berjaya menghantar parameter kepada pengawal dalam UI-Router menggunakan ui-sref dan aksesnya menggunakan $stateParams.

Atas ialah kandungan terperinci Bagaimanakah cara saya menghantar Parameter kepada Pengawal dalam UI-Router?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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