Tôi có một trạng thái đó trông giống như một cái gì đó như thế nàyui-router không thấy params tìm kiếm url sau khi trang làm mới
.state('home.foo.bar', {
url: 'view?one&two',
views: {
'base': {
templateUrl: 'blah',
controller: 'blahCtrl'
}
},
reloadOnSearch: false
})
nếu tôi hướng đến trạng thái này trong mẫu của tôi với
ui-sref="home.foo.bar({one: valueOne, two: valueTwo})"
tất cả là tốt và url là
.com/xem? one = valueOne & hai = valueTwo
tuy nhiên nếu tôi làm mới trang, url sẽ thay đổi thành chỉ .com/view và không $state.params
hoặc $stateParams
chứa các giá trị.
nếu tôi thêm một bước quyết tâm như vậy
.state('home.foo.bar', {
url: 'view?one&two',
views: {
'base': {
templateUrl: 'blah',
controller: 'blahCtrl'
}
},
resolve: {
p: function($location, $stateParams, $state) {
console.log($location.search(), $stateParams, $state);
if(!$stateParams.one && !$stateParams.two {
$stateParams.one = $location.search().one;
$stateParams.two = $location.search().two;
} else {
return $location.search().one;
}
}
},
reloadOnSearch: false
})
sau đó khi tôi bước đầu chuyển hướng đối với nhà nước trong mẫu của tôi in tuyên bố log gì cho $location.search()
nhưng thấy oneValue
và twoValue
trong $stateParams
và $state.params
. Khi tôi làm mới đối diện $location.search()
đối diện của chúng tôi hiển thị thông số và giá trị của chúng một cách chính xác nhưng $stateParams
và $state.params
trống.
thêm tuyên bố if và đặt giá trị giải quyết dứt khoát lỗi của tôi nhưng không thể làm việc như dự định có thể?
Tôi có thiếu thứ gì đó hiển nhiên không?
có vẻ như bạn cần phải xem https://github.com/angular-ui/ui-router/issues/1079 –
Cảm ơn bạn đã trả lời, tôi đã đọc qua chủ đề đó nhưng tôi không nghĩ rằng là cùng một vấn đề tôi đang đề cập đến ở đây. Họ đều nói về các vấn đề khi điều hướng giữa các tiểu bang. Tôi đang nói về một vấn đề khi tôi làm mới trang trình duyệt để ứng dụng góc toàn bộ được tải lại từ đầu – Ir1sh