Dalam UI-Router, menghantar parameter kepada keadaan apabila beralih melalui ui-sref memerlukan konfigurasi khusus. Mari kita mendalami langkah-langkahnya:
1. Tentukan Parameter URL:
Tentukan parameter URL yang dijangkakan dalam sifat url negeri. Sintaksnya ialah :paramName? di mana paramName ialah parameter yang anda mahu terima. Contohnya:
.state('home', { url: '/:foo?bar',
2. Berikan Nilai Parameter kepada ui-sref:
Lepaskan nilai parameter kepada ui-sref sebagai objek dalam pendakap. Sintaksnya ialah ui-sref="stateName({paramName: 'value', ...})". Contoh:
<a ui-sref="home({foo: 'fooVal', bar: 'barVal'})">Go to home with foo and bar parameters</a>
3. Gunakan $stateParams dalam Pengawal:
Dalam pengawal untuk keadaan destinasi, suntik $stateParams, yang mengandungi parameter yang diluluskan. Dapatkan semula nilai menggunakan $stateParams.paramName. Contoh:
app.controller('SomeController', function($scope, $stateParams) { var foo = $stateParams.foo; var bar = $stateParams.bar; })
4. Melepasi Parameter Bukan URL:
Selain parameter dalam URL, anda boleh menentukan parameter tambahan dalam konfigurasi param negeri. Ini membolehkan anda menghantar parameter yang bukan sebahagian daripada URL. Contoh:
.state('home', { url: '/:foo?bar', params: { foo: { value: 'defaultValue', squash: false, }, hiddenParam: 'YES' }
Parameter yang ditakrifkan dalam param boleh dihantar menggunakan $state.go() atau ui-sref. Ia tidak akan disertakan dalam URL.
5. Parameter Tatasusunan:
Anda juga boleh mengisytiharkan parameter sebagai tatasusunan dengan menetapkan tatasusunan: benar dalam konfigurasi params. Contoh:
params: { bar: { array: true, } }
Ingat untuk menggunakan pendakap persegi apabila menghantar nilai tatasusunan:
<a ui-sref="home({foo: 'fooVal1', bar: ['barVal1', 'barVal2']})">...</a>
Atas ialah kandungan terperinci Bagaimana Anda Melewati Parameter ke Negeri dalam UI-Router dengan ui-sref?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!