我正在创建基于Dashboeard的angularjs,我使用ui.router从json文件创建状态, 我的topNavbar和状态由pages.json文件创建。 我的应用程序工作正常但是当使用这个“localhost:#/ map”url刷新页面时,它会重定向到“localhost:#/ dashboard”状态。 如何设置用户在URL中输入的状态?
android:launchMode="singleTask"
pages.json
var $urlRouterProviderRef = null;
var $stateProviderRef = null;
myApp.run(function ($q, $rootScope, $state, $http, navbars)
{
navbars.load()
$http.get("js/config/pages.json")
.success(function (data) {
angular.forEach(data, function (value, key) {
var state = {
"url": value.url,
"templateUrl": value.templateUrl,
"controller": value.controller
};
$stateProviderRef.state(value.sref, state);
});
});
}
myApp.config(function ($stateProvider, $locationProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise('/dashboard');
$urlRouterProviderRef = $urlRouterProvider;
$stateProviderRef = $stateProvider;
})
答案 0 :(得分:2)
当您刷新页面时,您的运行函数调用并从pages.json读取值,您需要更新pages.json文件或者您需要将url值保存在localstorage或sessionstorage中,因此每当您刷新页面时都可以访问url来自localstorage或sessionstorage的值。