Rumah > Soal Jawab > teks badan
Saya menggunakan $state.go(); untuk menukar halaman
Data pada beberapa halaman ini adalah dinamik dan saya mahu data dimuatkan semula setiap kali saya masuk.
Bagaimanakah saya boleh memuatkan semula halaman (laksanakan semula kaedah dalam pengawal) setiap kali saya beralih ke halaman ini?
PS:
$state.go('page',null,{
reload:true
});
Ini tiada kesan pun
app.run(['$rootScope', '$location',
function($rootScope, $location) {
$rootScope.$on('$stateChangeStart', function(evt, next, current) {
alert('route begin change');
});
}
]);
Saya mendapat acara perubahan negeri di sini, tetapi saya tidak tahu cara memuat semula $scope...
PS2:
Beginilah cara saya mencapainya
$scope.$on('$stateChangeSuccess', function(evt, next, current) {
// 数据reload
});
Saya tidak tahu sama ada ini kaedah kasar...
Tetapi ini juga menimbulkan masalah baharu
Kaedah dalam $stateChangeSuccess akan dicetuskan dua kali.
PHP中文网2017-05-15 16:54:27
Anda boleh menyimpan data ke dalam sessionStorage. Kemudian siarkan dalam acara mendengar $on di bawah. Kemudian dengar acara siaran ini dalam pengawal sub-lapisan.
迷茫2017-05-15 16:54:27
Tiada pemprosesan khas diperlukan Kod yang anda tulis dalam pengawal akan dilaksanakan secara automatik setiap kali anda beralih ke halaman ini
巴扎黑2017-05-15 16:54:27
Pengawal akan menjana tika baharu setiap kali setiap kali keadaan berubah, pengawal dan paparan adalah tika baharu. Ini juga konsisten dengan idea suntikan angularjs. Anda boleh log sendiri dalam kod pengawal.
迷茫2017-05-15 16:54:27
"Kaedah dalam $stateChangeSuccess akan dicetuskan dua kali" Ini kerana anda telah menulis maklumat Pengawal dalam kedua-dua paparan dan Laluan