Cách tạo Progress Bar như youtube - Angular2



  • Chào mọi người.
    Mình đang tìm hiểu Angular 2. Mình có một vấn đề muốn mọi người giải đáp giúp là:
    lúc chuyển sang một trang mới bằng route, trang đó có get data từ http api về. Giờ mình muốn trang đó phải lấy xong data và render xong hết mới chuyển tới như youtube hay medium.com vậy đó (không nói đâu xa nó giống như cái progress bar của diễn đàn mình vậy đó). Mình đã tìm hiểu và sử sụng resolver cùng với ngx progress bar để tạo hiệu ứng. Vấn đề là chẳng lẽ với mọi service mình phải tạo 1 resolver riêng. Trong service thì có get, add, delete, update. với nhiêu đó thì quá nhiều resolver phải viết. Vậy trong thực tế có cách nào ngắn gọn hơn không?
    Cảm ơn vì đã đọc 😬😬



  • @phoenix159 Ở router nó có event bạn thử đi theo hướng này xem
    Mình cũng đang có ý định châm cứu nó nhưng chưa có time
    Đại loại mình biết như này

    // NavigationStart
      // NavigationEnd
      // NavigationCancel
      // NavigationError
      // RoutesRecognized
      ngOnInit() {
        this.router.events
          .subscribe((event) => {
            if (event instanceof NavigationStart) {
              // Todo
            }
            if (event instanceof NavigationEnd) {
              // Todo
            }
          });
      }
    

    Bạn tương hẳn vào AppComponent nhé
    Có gì share mình cũng cần nó :)



  • Mình cũng có làm cách này rồi. Nhưng nó chuyển hẳn qua mà chưa đợi data từ api load xong. Để mình tìm cách fix lại xem sao.


Log in to reply