# Mỗi màn một ViewModel, dữ liệu dùng chung một chỗ

> ViewModel riêng cho từng màn hình, dữ liệu dùng chung nằm trong các single của Koin thay cho tham số truyền qua route, và mặt trái: ván đang chơi vẫn sống khi bạn đã sang màn khác.

- URL: https://dantech.academy/courses/kotlin-mobile-101/05-navigation/lesson-02-one-viewmodel-five-screens
- Khóa học: [Kotlin Mobile 101](https://dantech.academy/courses/kotlin-mobile-101.md)
- Module: Máy Trạng Thái Màn Hình
- Thời lượng: 13 phút
- Độ khó: intermediate
- Truy cập: Dành cho học viên

## Mục tiêu

- Giải thích vì sao dữ liệu dùng chung nằm ở một chỗ thì không cần truyền tham số giữa các màn hình
- Nêu được mặt trái của state sống lâu hơn màn hình và ba lớp dọn dẹp của TicTac

## Nội dung bài học

1. Cách Thư Viện Điều Hướng Giải
2. Cách TicTac Giải: Không Truyền Gì Cả
3. Không Có Khoảnh Khắc Dữ Liệu Lệch
4. Mặt Trái: State Không Biết Bạn Đã Rời Đi
5. Khi Nào Chọn Cách Nào

## Học cùng AI agent

Toàn bộ bài học dành cho học viên của khóa. Học viên mở bài trên web và bấm nút **Markdown** để copy toàn bài, rồi dán vào Claude, ChatGPT, Cursor hoặc agent bạn đang dùng. Nhanh hơn: tạo token ở `/profile/ai-agents` và agent đọc bài trực tiếp qua MCP.

- [Đăng ký khóa học](https://dantech.academy/kotlin-mobile-101/checkout)

---

- Bài trước: [Điều hướng bằng screen state machine](https://dantech.academy/courses/kotlin-mobile-101/05-navigation/lesson-01-screen-state-machine.md)
- Bài tiếp theo: [expect/actual và nút back của hệ thống](https://dantech.academy/courses/kotlin-mobile-101/05-navigation/lesson-03-system-back-handler.md)
