/app
- app.component.ts
- app.component.html (hide/show: menu bar)
- app.global.service.ts (Public varible LoginSuccess:boolean)
- main.ts
/student
- student.ts
- student.service.ts
- student.component.ts
- student.component.html
/security
- login.component.ts (LoginSuccess = true)
- login.component.html
Trong ứng dụng Angular2, tôi có một nhu cầu đơn giản nơi tôi muốn hiển thị thanh menu ẩn dựa trên thành công đăng nhập. Đối với điều đó tôi tạo ra một dịch vụ mà chỉ có một boolean LoginSuccess varilable, mà tôi sẽ thiết lập thành phần đăng nhập và sẽ sử dụng trên app.component.html cho [hidden]=LoginSuccess
nav tag.Angular2 nhà cung cấp dịch vụ toàn cầu
Vấn đề tôi đang phải đối mặt là, ngay cả sau khi tiêm app.global.service.ts
thru constructor
giá trị app.component.ts & login.component.ts
không được sự bền bỉ và mỗi constructor tạo ra đối tượng mới của app.global.service.ts
.
Câu hỏi: Làm thế nào tôi có thể đạt được để duy trì giá trị đơn trên ứng dụng thông qua dịch vụ. Một nơi nào đó trong tài liệu Angular2, tôi đã đọc rằng dịch vụ Injectable là singleton.
và những gì về nếu chúng ta muốn cung cấp một số linh kiện tại thời điểm khởi động, giống như chúng tôi đã làm trong Globalservice? –
Chỉ cần nói: Nếu thành phần, mà bạn tiêm dịch vụ singleton (toàn cầu), nằm trong một tệp riêng biệt, bạn vẫn phải sử dụng câu lệnh nhập trong tệp đó để tải dịch vụ: 'import {AuthService} từ" ./ services/auth.service ";' – Samuel
Nhưng nếu tôi không thêm nó vào nhà cung cấp: [] Tôi gặp lỗi; NGOẠI LỆ: Không có nhà cung cấp cho GlobalService! –