จะรีโหลดเพจด้วยการแบ่งหน้าใน Angular 2 ได้อย่างไร? [ปิด]


85

ฉันจะโหลดหน้าปัจจุบันซ้ำบน Angular 2 ได้อย่างไร

ถ้าฉันอยู่ในหน้าที่ 2 (การแบ่งหน้า) และรีเฟรชหน้ามันจะแสดงหน้า 1 (หน้า URL) แต่ฉันต้องการให้ฉันรีเฟรชหน้า 2 และจะปรากฏในหน้า 2


คุณต้องการบรรลุอะไรโดยการโหลดซ้ำ? อาจมีวิธีอื่นในการบรรลุเป้าหมายเดียวกันหรือไม่?
Madhu Ranjan

@MadhuRanjan ฉันต้องการรีเซ็ตโมเดลทั้งหมด แต่ไม่ได้ค่าหลังจากค่า
FABI1987

คุณอาจมีฟังก์ชันการดึงข้อมูลแบบจำลองทั้งหมดในวิธีการทั่วไปและเรียกใช้เมื่อจำเป็น
Madhu Ranjan

2
โดยปกติคุณสมบัติของเบราว์เซอร์จะทำงานได้โดยไม่คำนึงถึงแพลตฟอร์มหากมีให้บริการอย่างเป็นทางการสำหรับระบบปฏิบัติการนั้น ต้องบอกว่าฉันขอแนะนำให้คุณสร้างคำถาม SO ใหม่เกี่ยวกับวิธีการwindow.location.reload()ใช้งาน Chrome บน Linux ซึ่งจะเป็นสถานที่ที่เหมาะสำหรับการรับคำตอบของคุณจากนั้นคุณอาจตรวจสอบรหัสของคุณเพื่อรับเวอร์ชันเบราว์เซอร์และมี ตรรกะรอบ ๆ ไชโย !!
Madhu Ranjan

1
FWIW กรณีการใช้งานของฉันเองสำหรับสิ่งนี้คือการรองรับหลายภาษาเนื่องจากใน v5.1 Angular ยังไม่รองรับหากไม่มีการปรับใช้แยกต่างหากต่อภาษา ฉันมีเพจ Razor ที่ตัดสินใจว่าจะโหลด Angular script บันเดิลใดขึ้นอยู่กับการตั้งค่าภาษาที่ได้รับจากฐานข้อมูลผู้ใช้ของแบ็กเอนด์ ASP.NET Core ในการเปลี่ยนภาษาหลังจากผู้ใช้เปลี่ยนการตั้งค่าแล้วการโหลดซ้ำเพียงแค่ Angular SPA จะไม่เกิดขึ้นฉันต้องโหลดหน้า Razor ใหม่ทั้งหมดเพื่อให้โหลด Angular SPA ที่แตกต่างกัน
Daniel Saner

คำตอบ:


185

สิ่งนี้ควรทำได้ในทางเทคนิคโดยใช้window.location.reload():

HTML:

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

TS:

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

อัปเดต:

นี่คือตัวอย่างStackBlitzพื้นฐานที่แสดงการรีเฟรชในการดำเนินการ สังเกตว่า URL บนเส้นทาง "/ hello" จะยังคงwindow.location.reload()อยู่เมื่อถูกเรียกใช้งาน


5
ฉันต้องการวิธีที่ดีกว่า windows.location ที่ไม่ข้ามแพลตฟอร์ม ...
FABI1987

ไม่มีทางข้ามแพลตฟอร์มง่ายๆ คุณจะต้องตรวจสอบว่าเป็นแพลตฟอร์มใดจากนั้นทำการโหลดซ้ำที่เหมาะสมสำหรับแพลตฟอร์มนั้น
Joo Beck

การรีเฟรชไม่ทำงานและจะนำผู้ใช้กลับไปที่หน้าแรกเท่านั้น
Ace

อาจขึ้นอยู่กับวิธีตั้งค่าเส้นทางของคุณรวมถึงวิธีการโหลดเส้นทาง SPA โดยเซิร์ฟเวอร์ reload()เป็นวิธีเบราว์เซอร์มาตรฐานในการโหลดทรัพยากรซ้ำจาก URL ปัจจุบัน
Alexander Staroselsky
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.