Cách thay đổi nút đăng nhập thành đăng xuất trong JavaScript


Tìm hiểu cách tạo menu điều hướng đáp ứng với biểu mẫu đăng nhập bên trong menu


Tự mình thử »

Cách thêm biểu mẫu đăng nhập trong thanh điều hướng

Bước 1) Thêm HTML

Ví dụ


  Trang chủ
  Giới thiệu
  Liên hệ
 


   
     
     
      Đăng nhập
   
 




Bước 2) Thêm CSS

Ví dụ

* {kích thước hộp. hộp viền;}

/* Tạo kiểu cho thanh điều hướng */
. topnav {
  tràn. ẩn;
  màu nền. #e9e9e9;
}

/* Liên kết thanh điều hướng */
. topnav {
  float. trái;
  hiển thị. khối;
  màu. màu đen;
  căn chỉnh văn bản. trung tâm;
  phần đệm. 14px 16px;
  trang trí văn bản. không;
  cỡ chữ. 17px;
}

/* Liên kết thanh điều hướng khi di chuột qua */
. topnav một. di chuột {
  màu nền. #ddd;
  màu. đen;
}

/* Liên kết đang hoạt động/hiện tại */
. topnav một. màu nền {
đang hoạt động. #2196F3;
  màu. trắng;
}

/* Định kiểu vùng chứa đầu vào */
. topnav. vùng chứa đăng nhập {
  float. phải;
}

/* Định kiểu trường nhập bên trong thanh điều hướng */
. topnav input[type=text] {
  phần đệm. 6px;
  lề trên. 8px;
  cỡ chữ. đường viền 17px;
 . không;
  chiều rộng. 150px;
}

/* Tạo kiểu cho nút bên trong vùng chứa đầu vào */
. topnav. nút vùng chứa đăng nhập {
  float. phải;
  phần đệm. 6px;
  lề trên. 8px;
  lề phải. 16px;
  nền. #ddd;
  cỡ chữ. 17px;
  đường viền. không;
  con trỏ. con trỏ;
}

.topnav .login-container button:hover {
  nền. #ccc;
}

/* Thêm khả năng phản hồi - Trên màn hình nhỏ, hãy hiển thị thanh điều hướng theo chiều dọc thay vì theo chiều ngang */
@màn hình phương tiện và (chiều rộng tối đa. 600px) {
. topnav. vùng chứa đăng nhập {
    float. không;
  }
. hàng đầu một,. topnav đầu vào [loại = văn bản],. topnav. nút vùng chứa đăng nhập {
    float. không;
    hiển thị. chặn;
    căn chỉnh văn bản. trái;
    chiều rộng. 100%;
    lợi nhuận. 0;
    đệm. 14px;
  }
. topnav input[type=text] {
    đường viền. 1px solid #ccc;
  }
}

Tự mình thử »

Trong phần trước của chúng tôi, chúng tôi đã cải thiện thành công tiêu đề giao diện người dùng và thông báo giao diện người dùng. Trong phần này, chúng ta sẽ tìm hiểu cách kết nối nút đăng xuất và cách chuyển hướng người dùng đến MEAN Stack. Chúng tôi sẽ tìm hiểu cả hai điều từng bước và trước tiên chúng tôi tìm hiểu cách kết nối nút đăng xuất với ứng dụng. Chúng tôi sẽ sử dụng các bước sau để làm điều này

1) Chúng tôi sẽ quay lại thành phần của chúng tôi. ts và thêm trình nghe nhấp chuột vào nút đăng xuất. Chúng tôi sẽ thực thi phương thức onLogout() khi nhấp vào nút


Cách thay đổi nút đăng nhập thành đăng xuất trong JavaScript

2) Bây giờ, chúng ta cần thêm phương thức này vào thành phần. tập tin ts. Phương pháp này sẽ xóa mã thông báo và thông báo cho tất cả các phần quan tâm trên trang về trạng thái xác thực đã thay đổi


Cách thay đổi nút đăng nhập thành đăng xuất trong JavaScript

3) Chúng tôi cần chỉnh sửa lại dịch vụ xác thực và ở đó chúng tôi cần một phương thức mới, tôi. e. , đăng xuất. Trong phương pháp này, chúng tôi muốn làm hai điều chính, tôi. e. , chúng tôi sẽ đặt mã thông báo thành null để xóa mã thông báo và đặt isAuthenticated thành false


Cách thay đổi nút đăng nhập thành đăng xuất trong JavaScript

4) Bây giờ, chúng tôi cần chuyển thông tin đó cho bất kỳ ai quan tâm. Vì vậy, chúng tôi sẽ sử dụng chủ đề authStatusListener của mình và đẩy một giá trị mới, giá trị này là sai vì người dùng hiện không được xác thực nữa


Cách thay đổi nút đăng nhập thành đăng xuất trong JavaScript

5) Phương thức đăng xuất đó nên được gọi từ bên trong phương thức onLogout() trong thành phần tiêu đề. Vì vậy, ở đó chúng tôi sẽ truy cập dịch vụ xác thực của mình và sau đó gọi phương thức đăng xuất ()


Cách thay đổi nút đăng nhập thành đăng xuất trong JavaScript

Chúng tôi sẽ lưu tất cả các tệp và chuyển đến ứng dụng góc cạnh của chúng tôi

Cách thay đổi nút đăng nhập thành đăng xuất trong JavaScript

Cách thay đổi nút đăng nhập thành đăng xuất trong JavaScript

Cách thay đổi nút đăng nhập thành đăng xuất trong JavaScript

Mọi thứ đang hoạt động tốt và bây giờ chúng ta sẽ tìm hiểu cách chúng ta sẽ chuyển hướng người dùng. Chúng tôi sẽ sử dụng các bước sau để chuyển hướng người dùng

Chúng tôi sẽ triển khai logic chuyển hướng trong dịch vụ xác thực của mình và dịch vụ xác thực là một nơi tuyệt vời để thực hiện mọi việc vì ở đó chúng tôi thực hiện cả đăng nhập và đăng xuất

1) Vì vậy, để chuyển hướng người dùng, chúng tôi sẽ phải thêm @angular/router. Chúng tôi sẽ thêm một đối số mới vào hàm tạo, thuộc loại bộ định tuyến. Bộ định tuyến là một đối tượng hoặc một lớp được nhập từ @angular/router


Cách thay đổi nút đăng nhập thành đăng xuất trong JavaScript

2) Bây giờ, chúng ta sẽ sử dụng nó trong phương thức login(). Trong phương thức đăng ký, khi chúng tôi biết rằng chúng tôi có mã thông báo hợp lệ, ở cuối, chúng tôi sẽ liên hệ với bộ định tuyến của mình và gọi phương thức navigation(). Chúng tôi muốn điều hướng đến trang chủ, vì vậy chúng tôi sẽ chuyển dấu gạch chéo (/) cho chức năng đó

Chúng tôi cũng muốn điều hướng đến đó nếu chúng tôi đăng xuất. Ở đó, khi chúng tôi xóa mọi thứ, chúng tôi muốn rời khỏi trang mà chúng tôi đang ở và quay lại trang chủ


Cách thay đổi nút đăng nhập thành đăng xuất trong JavaScript

Bây giờ, chúng tôi sẽ kiểm tra xem chúng tôi sẽ chuyển hướng đến trang chủ sau khi đăng nhập hoặc đăng xuất

Cách thay đổi nút đăng nhập thành đăng xuất trong JavaScript

Cách thay đổi nút đăng nhập thành đăng xuất trong JavaScript

3) Chuyển hướng đến trang chủ đang hoạt động tốt. Chúng tôi có thể nhận thấy rằng chúng tôi phải đợi một khoảng thời gian rất ngắn nếu chúng tôi nhấp vào đăng nhập. Thời gian cần thiết để chúng tôi gửi yêu cầu đó và xác thực người dùng trên máy chủ. Sẽ thật tuyệt nếu trưng bày một con quay ở đó. Đó chỉ là một điều nhỏ, nhưng chúng tôi muốn thêm các công cụ quay vòng như vậy vào các thành phần đăng nhập và đăng ký. Chúng tôi đã có thành phần spinner trong ứng dụng để thêm mat-spinner bên dưới nút trong thành phần đăng ký và đăng nhập. Để làm được điều đó, chúng tôi cần biết liệu chúng tôi có đang tải hay không. Chúng ta đã đến phần Đang tải thuộc tính ở cả hai thành phần và chúng ta chỉ cần đặt nó khi đang tải

Vì vậy, trong phương thức onSignup(), chúng ta sẽ đặt Loading thành true và tương tự trong phương thức onLogin()

Đăng nhập

Cách thay đổi nút đăng nhập thành đăng xuất trong JavaScript

Cách thay đổi nút đăng nhập thành đăng xuất trong JavaScript

Đăng ký

Cách thay đổi nút đăng nhập thành đăng xuất trong JavaScript

Cách thay đổi nút đăng nhập thành đăng xuất trong JavaScript

4) Bây giờ, trong các mẫu, chúng tôi sẽ sử dụng nó. Chúng tôi muốn ẩn nút đó nếu chúng tôi đang tải và đồng thời, chúng tôi muốn quay chúng


Cách thay đổi nút đăng nhập thành đăng xuất trong JavaScript

Chúng tôi sẽ triển khai logic tương tự cho thành phần đăng ký của chúng tôi

Cách thay đổi nút đăng nhập thành đăng xuất trong JavaScript

Ghi chú. Chúng tôi đã triển khai theở trên cùng, vì vậy chúng tôi khuyên bạn nên xóa cái mà chúng tôi đã triển khai bên dưới nút trong các mẫu thành phần đăng nhập và đăng ký

Bây giờ, chúng tôi sẽ quay lại ứng dụng góc cạnh của mình và thử đăng nhập hoặc đăng ký để kiểm tra xem công cụ quay vòng của chúng tôi có hoạt động tốt hay không

Cách thay đổi nút đăng nhập thành đăng xuất trong JavaScript

Cách thay đổi nút đăng nhập thành đăng xuất trong JavaScript

Cách thay đổi nút đăng nhập thành đăng xuất trong JavaScript

Cách thay đổi nút đăng nhập thành đăng xuất trong JavaScript

Mọi thứ đang hoạt động tốt. Việc tiếp theo là bảo vệ các tuyến vì chúng ta có thể truy cập trang bài viết mới bằng cách truy cập URL đó. Chúng tôi sẽ làm điều đó sau trong phần tiếp theo