Rumah > Soal Jawab > teks badan
我使用$state.go();来切换页面
其中有些页面的数据是动态的,我希望每次进来都重新加载数据。
请问如何每次当切换到这个页面时都重新加载页面(重新执行controller中的方法)?
PS:
$state.go('page',null,{
reload:true
});
这个也并没有效果
app.run(['$rootScope', '$location',
function($rootScope, $location) {
$rootScope.$on('$stateChangeStart', function(evt, next, current) {
alert('route begin change');
});
}
]);
我在这里获得了state变化的事件 然而并不知道如何刷新$scope...
PS2:
我是这样实现的
$scope.$on('$stateChangeSuccess', function(evt, next, current) {
// 数据reload
});
不知道算不算土办法...
但是这样也出现一个新的问题
$stateChangeSuccess中的方法会触发2遍,这是什么情况呢?
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