DISCUSSIONS

@dangcq17 nhưng em hỏi ngu thêm xíu với bác ơi, ví dụ như ở trang chủ em có các component riêng thì e có cần props hay thằng localStorage.currentLanguage qua không ạ? hay là phải làm như thế nào để các component con nhận đc cái localStorage.currentLanguage từ component Header v ạ? Với bác cho em xin i4 em gửi bác ly cf với chứ hỏi nhiều e cũng ngại lắm ahjhj ^^

+1

@binchanhkun99 vẫn giữ bác nhé. Ví du luôn cho bác trang https://viblo.asia/followings đây. Bác thử kéo xuống dưới cùng chỉnh phần language sang ngôn ngữ nào cũng được rồi bác bật F12 -> Application -> Local Storage -> https://viblo.asia thì bác sẽ thấy một key là preferred_locale

0

@dangcq17 Nhưng nếu như vậy thì khi em chuyển qua trang khác nó có giữ cái trạng thái cái curentLanguage trong localStorage ko vậy bác nhỉ?

0

@dangcq17 tức là bh thay vì đang sử dụng this.$route.params.locale thì mình chủ động set luôn cái lang ấy vào localStorage rồi dùng phương thức changeLang mỗi khi click vào dropdown thì lấy cái giá trị trên truyền vào cái key "language" đúng không bác nhỉ?

0

@binchanhkun99 em thấy nếu mục đích của bác là chỉ để làm đa ngôn ngữ cho trang web thì bác không cần thiết phải hiện ngôn ngữ hiện tại trên URL kiểu như recruit/en. Vì trên menu của bác cũng có icon thể hiện là ngôn ngữ hiện tại của người dùng rồi nên bác sửa lại logic một chút là thay vì mình lấy currentLanguage trên URL mà mình sẽ dùng luôn thằng localStorage để quả lý cho việc đa ngôn ngữ cho trang mỗi lần người dùng đổi ngôn ngữ thì bác set lại vào trong localStorage thôi và khi muốn lấy ngôn ngữ hiện tại để hiển thị content thì bác cũng lấy luôn trong localStorage ra. Bác nhớ để ý handle phần khi trong localStorage chưa có ngôn ngữ hiện tại lúc lấy ra nó sẽ không có.

0

@dangcq17 Với bh ý bác là e tạo default thằng currentLang là 'vi' hc 'en' rồi khi chuyển trang lấy cái thằng ngôn ngữ mình vừa đổi mà thằng localStorage bắt đc đúng k bác nhỉ?

0

@dangcq17 em đọc r nhưng vẫn chưa hiểu ý bác lắm ạ, bh em đổi ngôn ngữ em đang dùng thẻ a link đến 1 đường dẫn rồi thêm cái params vào sau bởi vì trang của em yêu cầu lấy ngôn ngữ từ api nên phải tải lại trang nên e ko methods

0

@hoang55dd mình k hiểu câu hỏi của bạn lắm, bạn nói rõ hơn vấn đề gặp phải được k 😂

0

@binchanhkun99 Ví dụ như phần đổi ngôn ngữ bác dùng hàm changeLanguage thì khi sử dụng localStorage sẽ như sau

methods: {
  changeLanguage(language) {
    // set ngôn ngữ với key là currentLanguage
    localStorage.currentLanguage = language;
  }
  getLanguage() {
    // lấy ngôn ngữ hiện tại từ localStorage ra
    console.log(localStorage.currentLanguage);
  }
}

Để hiểu hơn về localStorage bác có thể xem ở đây và ở đây

0

Thằng localStorage thì mình tạo ở đâu bác, bác có thể cho em 1 xí minh hoạ cụ thể được không ạ? e cảm ơn bác nhiều lắm ^^

0

Như đoạn code hoàn chỉnh của anh thì e thấy mình vẫn phải dùng existsById để check category, rồi mới dùng proxy thông qua getById. Theo như e tìm hiểu thì existsById về performance nó còn chậm hơn findById thì phải, nếu vậy mình nên giữ nguyên code đầu tiên của anh thì chuẩn hơn ko nhỉ?!

0

đồng quan điểm với bác 😆

0

công nhận dịch như con cặc :v

0
Aug 8th, 7:46 a.m.

@pdhau cám ơn bạn mình sẽ thử lại xem sao

0
Viblo
Let's register a Viblo Account to get more interesting posts.