THẢO LUẬN

cảm ơn a đã chia sẻ, chắc e sẽ mất 1 tháng để nghiên cứu bài viết này 😂

+2
thg 1 22, 2021 3:36 SA

Cám ơn bạn, bài viết rất chi tiết và hưu ít.

0
thg 1 22, 2021 3:12 SA

Đôi lúc tôi nghĩ sao cứ phải tự làm khó mình nhỉ? Bao nhiêu trình soạn thảo dễ dùng và đáp ứng đủ chức năng dùng không dùng cứ phải đi theo mấy cái rule điên rồ mà do người khác làm ra và nghĩ sử dụng nó mình sẽ giỏi hơn 😄

0
thg 1 22, 2021 2:26 SA

=))) bài của mình chưa từng có bài nào dịch cả bạn ei =)))

0
thg 1 22, 2021 2:25 SA

cảm ơn tác giả

0
thg 1 22, 2021 2:18 SA

haha, bài này mình chỉ viết về cách hoạt động thôi, còn ứng dụng thì chắc là mình sẽ viết trong một bài mới

0
thg 1 22, 2021 1:46 SA

híc đọc xong e vẫn chưa hiểu nó thường được dùng trong các trường hợp nào 😦

+1

Cho mình hỏi tí ạ, mình muốn thêm nút chụp hình vào và lưu ảnh xuống thì làm ntn vậy ad?

0

@maitrungduc1410 Nếu không phân trang thì đúng là vậy nhưng khi phân trang nó thành

listCategory {
     data {
              data {
                      ...
              }
     }
}

nên lúc này phải thêm vào thành this.listCategory.data.forEach và khi phân trang xong thì data nó sẽ như thế này bạn ạ.

khi chưa phân trang:

data {title:Tieu de 1,slug: tieu-de-1,....}

sau khi phân trang thì:

trang thứ 2
data {2{title:Tieu de 1,slug: tieu-de-1,....}}

trang thứ 3
data {4{title:Tieu de 1,slug: tieu-de-1,....}}

duy chỉ có trang đầu tiên là giống với data lúc chưa phân trang nên nó vẫn hoạt động bình thường 😦

0

Tôi đoán tên anh hàng xóm có một chữ P 😄

0
thg 1 21, 2021 5:22 CH

Thêm hình ảnh nữa là tuyệt vời

0

@daucatmoi

Tuyệt vời ông mặt giời

0

@maitrungduc1410 em làm được r thank anh ạ

0

@duong.manh.hoang Em có up code ajax, router, controller. Anh xem qua giúp em với ạ

0

Khi 1 client kết nối thì đầu tiên nó phải tới Laravel Echo Server trước, mà ở phía Laravel Echo server e còn chưa thấy j thì 96,69% đoạn kết nối tới Laravel Echo ở file bootstrap.js của e đang có vấn đề.

Đầu tiên khả năng cao e đang dùng laravel-echo-server bản mới nên nó ko khớp với socket.io-client e định nghĩa ở file bootstrap.js nữa (lỗi này đã có 1 bạn nhắn a ở bài Viết ứng dụng chat realtime .... rồi). A cũng đã update bài đó nhưng a chưa có tgian update lại cho các bài này. Đầu tiên e giúp a sửa lại file resource/views/app.blade.php, như sau:

<body>
        <div id="app" class="h-100"></div>
        <script src="http://localhost:4000/socket.io/socket.io.js"></script>
        <script>window.__app__ = @json($data)</script>
        <script src="{{ mix('js/manifest.js') }}"></script>
        <script src="{{ mix('js/vendor.js') }}"></script>
        <script src="{{ mix('js/app.js') }}"></script>
    ..................
    </body>

Chú ý rằng bên trên a đã thêm vào đoạn script để import socket.io, đây là ta đang import thư viện socket.io-client được cung cấp bởi laravel-echo-server (nên nó sẽ tương thích). Sau đó ở file bootstrap.js e comment đoạn sau lại:

import Echo from 'laravel-echo'

// window.io = require('socket.io-client') // comment dòng này <<----------

window.Echo = new Echo({
  broadcaster: 'socket.io',
  host: `${window.location.protocol}//${window.location.hostname}:${process.env.MIX_FRONTEND_PORT}`
})

Sửa code Vue nên e phải build lại frontend nhé:

docker run --rm -v "/$(pwd)":/app -w //app node npm run prod

Sau đó thì e chạy lại project như bình thường, cùng với đó e kiểm tra kĩ cho a:

  • e mở Chrome Developer tool xem còn báo lỗi j ko nhé
  • sau đó check ở đoạn cấu hình Nginx đã có block location /socket.io hay chưa, đã proxy_pass vào đúng tên service laravel_echo_server:6001 hay chưa
  • file .env đã có MIX_FRONTEND_PORT=4000 hay chưa
0

@khanhney thank bác

0
thg 1 21, 2021 2:24 CH

cảm ơn bạn nhé

0
thg 1 21, 2021 11:35 SA

😍

0
Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí