Làm cách nào để tải lại trang có phân trang trong Angular 2? [đóng cửa]


85

Làm cách nào để tải lại trang hiện tại trên Angular 2?

Nếu tôi đang ở trang 2 (phân trang) và làm mới trang, nó sẽ hiển thị trang 1 (tải trang URL) nhưng tôi muốn tôi làm mới trang 2 và nó sẽ xuất hiện ở trang 2


Bạn muốn đạt được điều gì bằng cách tải lại? Có thể có những cách thay thế để đạt được điều tương tự?
Madhu Ranjan

@MadhuRanjan tôi muốn đặt lại tất cả mô hình nhưng không đặt lại giá trị này sau giá trị,
FABI1987

bạn có thể có tất cả các hàm tìm nạp mô hình trong một phương thức chung và gọi nó khi cần thiết.
Madhu Ranjan

2
thường thì các tính năng của Trình duyệt hoạt động không phân biệt nền tảng, nếu nó có sẵn chính thức cho hệ điều hành tương ứng. Đã nói rằng tôi sẽ đề nghị bạn tạo một câu hỏi SO mới về cách sử window.location.reload()dụng chrome trên Linux, đó sẽ là nơi lý tưởng để bạn nhận được câu trả lời và sau đó, bạn có thể kiểm tra mã của mình để tải phiên bản trình duyệt và có một logic xung quanh, Cheers !!
Madhu Ranjan

1
FWIW, trường hợp sử dụng của riêng tôi cho điều này là hỗ trợ đa ngôn ngữ, vì kể từ v5.1, Angular vẫn không hỗ trợ nó nếu không triển khai riêng cho mỗi ngôn ngữ. Tôi có một trang Razor quyết định gói tập lệnh Angular nào sẽ tải, tùy thuộc vào tùy chọn ngôn ngữ mà nó nhận được từ cơ sở dữ liệu người dùng của phần phụ trợ ASP.NET Core. Để thay đổi ngôn ngữ sau khi người dùng đã thay đổi tùy chọn của họ, việc tải lại Angular SPA sẽ không thực hiện được, tôi cần tải lại toàn bộ trang Razor về cơ bản để nó tải một Angular SPA khác.
Daniel Saner

Câu trả lời:


183

Điều này về mặt kỹ thuật có thể đạt được bằng cách sử dụng window.location.reload():

HTML:

<button (click)="refresh()">Refresh</button>

TS:

refresh(): void {
    window.location.reload();
}

Cập nhật:

Đây là một ví dụ cơ bản về StackBlitz hiển thị hoạt động làm mới. Lưu ý rằng URL trên đường dẫn "/ hello" được giữ lại khi window.location.reload()được thực thi.


5
tôi muốn cách tốt hơn windows.location mà không phải nền tảng chéo ...
FABI1987

Không có cách nền tảng chéo nào đơn giản. Bạn sẽ phải kiểm tra nền tảng đó là gì và sau đó thực hiện tải lại thích hợp cho nền tảng đó.
Joo Beck,

Làm mới không hoạt động và chỉ đưa người dùng trở lại trang đầu tiên.
Ace

Nó có thể phụ thuộc vào cách định tuyến của bạn được thiết lập cũng như cách máy chủ tải các tuyến SPA. reload()là một cách tiếp cận trình duyệt tiêu chuẩn để tải lại các tài nguyên từ URL hiện tại.
Alexander Staroselsky
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.