Rumah > Soal Jawab > teks badan
Contohnya:
Terdapat tiga pengawal dalam aplikasi, mereka berada dalam hubungan mendatar
Pengawal A mengawal bahagian kepala halaman
Pengawal B dan C mengawal halaman butiran, mengedit halaman, penghalaan Perhubungan adalah seperti berikut
when('/detail/:id', { templateUrl: 'tpls/detail.html', controller: "BController" }).
when('/edit/:id', { templateUrl: 'tpls/edit.html', controller: "CController" }).
Keperluan semasa adalah untuk mendapatkan id parameter dalam URL penghalaan dalam pengawal A. Bagaimana untuk mendapatkannya?
Pelaksanaan semasa saya:
Saya menulis perkhidmatan dan menulis fungsi dalam perkhidmatan Fungsi fungsi ini adalah untuk menggunakan $location.path() untuk mendapatkan URL semasa, dan kemudian menggunakan rentetan id dalam. parameter diperoleh melalui pemintasan Walaupun nilai diperoleh, rasanya tidak sepatutnya begini
Percubaan saya:
$location mempunyai API, $location.search().name digunakan untuk mendapatkan parameter url semasa, tetapi API ini tidak boleh mendapatkan parameter saya kerana url saya dalam bentuk index.html# Dalam bentuk /detail/1, ia tidak boleh diperolehi tanpa nama
Idea lain ialah menambah pengawal peringkat lebih tinggi kepada tiga pengawal dan memindahkannya melalui pengawal induk, tetapi ini nampaknya tidak sesuai
给我你的怀抱2017-05-15 17:03:23
http://stackoverflow.com/questions/25370775/exposing-the-current-state-name-with-ui-router
//this watches for state changes
$rootScope.$on('$stateChangeStart',
function(event, toState, toParams, fromState, fromParams){
//do something when state changes
$yourService.state = toState.name;
$yourService.postid = toParams.postid;
console.log(toParams); //this is the stateParams you need
});
给我你的怀抱2017-05-15 17:03:23
Suntikan perkhidmatan ini ke dalam $routeParams, kemudian
$scope.id = $routeParams.id