Thank Kim.
Mĩnh cái mình đã triển khai ở hệ thống cũ cũng gần giống 80% memo của bạn.
Chỉ là thấy vẫn phải phân tách ra 2 loại server là loại có chạy cron , queue và 1 loại không chạy.
Nên sợ có khả năng người maintain sau quên hay sao đó.
Nên đang tìm cách làm nó tốt lên thui
Sr mình ở Hà Nội. Có gì khúc mắc bạn cứ post ảnh hay câu hỏi lên đây mn sẽ trả lời nhiệt tình nhé!
Lúc đầu làm quen có thể chạy thử demo của truffle petshop hoặc các tutorials để nắm luồng dữ liệu rồi tự code lại sau
Khi ta selecteProduct thì biến selectedProduct được set giá trị, băng với product ta vừa click, chỉ bằng về giá trị thôi còn địa chỉ thì ko bằng nhé vì mình dùng {...} để clone rồi
Tiếp theo ta se product.isEdit = true để hiển thị form input, thao tác này tác động trực tiếp vào object product gốc
Khi ta tiếp tục chọn Edit ở 1 hàng mới mà ko bấm Cancel ở hàng cũ, thì ta lại ko set isEdit = false ở hàng cũ đi, do đó form input của hàng cũ vẫn show ra, mà form input đó thì sẽ được bind với selectedProduct nên bạn sẽ thấy cứ chỗ nào có form input thì nó sẽ có chung 1 giá trị của selectedProduct
1 giải pháp đơn giản là:
khi click sang hàng mới ta gọi tới product ta vừa chọn (trước khi chon hàng mới) và set isEdit = false để đóng form input đi
vậy thì ta cần lưu lại cái gì đó của hàng cũ để khi click vào hàng mới ta còn biết lối để gọi lại: bạn có thể chọn lưu cả object product hoăc lưu index của nó cũng đc
Code demo:
ở data bạn thêm vào biến prevSelectedProduct: null, thể hiện cho sản phẩm vừa đc chọn trước sản phẩm hiện tại (nếu ko có thì để null)
ở hàm selecteProduct ban sửa lại như sau:
selecteProduct(product){if(this.prevSelectedProduct){// nếu trước đó có chọn 1 sản phẩm để editthis.prevSelectedProduct.isEdit =false// đóng form edit}this.selectedProduct ={...product }
product.isEdit =truethis.prevSelectedProduct = product // thiết lập giá trị mới},
Bài viết khá bổ ích, cảm ơn thím nhé. Thông thường đối với csdl ít bản ghi thì việc sử dụng map hay pluck không thực sự quan trọng nhưng khi làm việc với cơ sở dữ liệu lớn thì việc sử dụng map hay pluck lại là một việc rất cần phải chú ý.
THẢO LUẬN
Thank Kim.
Mĩnh cái mình đã triển khai ở hệ thống cũ cũng gần giống 80% memo của bạn.
Chỉ là thấy vẫn phải phân tách ra 2 loại server là loại có chạy cron , queue và 1 loại không chạy.
Nên sợ có khả năng người maintain sau quên hay sao đó.
Nên đang tìm cách làm nó tốt lên thui
Buồn ghê
Đang xem thì ko có phần 2...
Sr mình ở Hà Nội. Có gì khúc mắc bạn cứ post ảnh hay câu hỏi lên đây mn sẽ trả lời nhiệt tình nhé! Lúc đầu làm quen có thể chạy thử demo của truffle petshop hoặc các tutorials để nắm luồng dữ liệu rồi tự code lại sau
anh có ở hồ chí minh không ah, có thể cà phê hướng dẫn em tí được không, em có xem nhưng vẫn chưa thử làm được.
anh có ở hồ chí minh không ah, có thể cà phê hướng dẫn em tí được không, em có xem nhưng vẫn chưa thử làm được.
anh có ở hồ chí minh không ah, có thể cà phê hướng dẫn em tí được không, em có xem nhưng vẫn chưa thử làm được.
sao ở trên có bảng Entity mà dưới ví dụ lại ko có vậy b ?
Cảm ơn tác giả về các bài viết rất chi tiết, mong sớm có những bài tiếp theo trong series này.
Nice Tutorial Bro, I wonder when will you post the next part, I cant wait for it. Keep it up, Bro!!
Bài viết rất hay, cám ơn bạn rất nhiều
chào bạn,
Bug này lí do như sau:
selecteProductthì biếnselectedProductđược set giá trị, băng vớiproductta vừa click, chỉ bằng về giá trị thôi còn địa chỉ thì ko bằng nhé vì mình dùng{...}để clone rồiproduct.isEdit = trueđể hiển thị form input, thao tác này tác động trực tiếp vào objectproductgốcEditở 1 hàng mới mà ko bấmCancelở hàng cũ, thì ta lại ko setisEdit = falseở hàng cũ đi, do đó form input của hàng cũ vẫn show ra, mà form input đó thì sẽ đượcbindvớiselectedProductnên bạn sẽ thấy cứ chỗ nào có form input thì nó sẽ có chung 1 giá trị củaselectedProduct1 giải pháp đơn giản là:
isEdit = falseđể đóng form input điproducthoăc lưu index của nó cũng đcCode demo:
databạn thêm vào biếnprevSelectedProduct: null,thể hiện cho sản phẩm vừa đc chọn trước sản phẩm hiện tại (nếu ko có thì đểnull)selecteProductban sửa lại như sau:email của chị là: hangpt248@gmail.com nhé. Có gì em có thể hỏi qua đây nhé
Idea thú vị. Cảm ơn bác đã chia sẻ.
Em đã sửa đc. Em cảm ơn ạ
Sao mà em chẳng xem được code vậy máy anh nhỉ
@anhdinoke mình dùng docs offical của facebook: https://developers.facebook.com/docs/graph-api/reference/
Thẻ a này mình ko code trực tiếp. Mà nó nằm trong 1 đoạn văn bản có sẵn. Không biết các b có hiểu ý mình diễn đạt chỗ này ko nữa
Bài viết khá bổ ích, cảm ơn thím nhé. Thông thường đối với csdl ít bản ghi thì việc sử dụng map hay pluck không thực sự quan trọng nhưng khi làm việc với cơ sở dữ liệu lớn thì việc sử dụng map hay pluck lại là một việc rất cần phải chú ý.
Ông viết bài này chắc chưa từng 1 lần đọc lại bài do chính mình viết quá.