THẢO LUẬN

bài viết hay quá

0

Bài viết rất hay. Xin cảm ơn tác giả. Bạn có bài code mẫu nào trên GIT hoặc có thể chia sẽ mình qua email này giúp: trungtayninh@gmail.com. Một lần nữa cảm ơn rất nhiều.

0
thg 6 21, 2019 4:19 SA

chào bạn, bạn có hiểu containerView là gì ko? Mình ko thấy containerView trong bài viết.

0

Về function function getName(personId) bạn cũng có thể truyền vào 1 callback function để xử lý ví dụ: function getName(personId, onSuccess, onErrror). Cơ mà dùng promise là cách được jQuery recommend và nên áp dụng.

$.ajax( "example.php" )
  .done(function() {
    alert( "success" );
  })
  .fail(function() {
    alert( "error" );
  })
  .always(function() {
    alert( "complete" );
  });

Ps: Bên mình có vài convention thế này:

  • Don't assume method idempotence: tức là khi kết quả của 1 function được sử dụng nhiều lần thì hãy extract nó ra 1 biến / hằng, vừa có 1 kết quả tin cậy, vừa tăng performance vì dữ liệu đã được cache trong biến không phải xử lý nhiều lần. Giống như cách bạn làm.
  • Tên biến: nếu là jQuery object (DOM) thì prefix là $ để phân biệt với biến thông thường
  • Class name: nếu element được sử dụng trong js thì sẽ thêm 1 class với prefix là js-, ví dụ js-button-submit... lợi ích là khi nhìn vào html là biết nó được sử dụng trong js và tách biệt với styling class, khi thay đổi styling class thì ko ảnh hưởng đến js.

Ngoài ra bên mình cũng áp dụng chung laravel-mix, es6 modules để tách ra các function dùng chung, tránh global var, global function và có thể sử dụng các tính năng của mix như cache busting, vendor extraction... Cơ mà mục đích ban đầu cũng chỉ là để làm quen với ES6 để có thể học đến React, Vue 😄

0
Avatar
đã bình luận cho bài viết
thg 6 21, 2019 3:39 SA

cảm ơn ạ

0

cảm ơn bạn ! mình sẽ cố gắng trong bài viết tới. bạn đón đọc nha 😃

0

Bài viết rất hay và tâm huyết !!! 😃

0
Avatar
đã bình luận câu trả lời trong câu hỏi
thg 6 21, 2019 3:19 SA
0

Vue nó cũng sắp có 1 cái giống React Hooks : D

https://github.com/vuejs/rfcs/blob/function-apis/active-rfcs/0000-function-api.md

0

em rảnh thì em ngồi viết thôi anh (honho)

0
thg 6 21, 2019 1:16 SA

Bài viết rất hay

0
thg 6 21, 2019 1:05 SA

uhm cái này thì hiện tại mình cũng đang làm như thế thôi. nhưng mà bạn có thể viết một module để handle cái lỗi. Hướng dẫn: https://www.youtube.com/watch?v=XP_gONOksuM Bạn làm theo xem có đc k nha.

0

em thích vue hơn anh ơi.

0

oke anh.

0
Avatar
đã bình luận cho bài viết
thg 6 20, 2019 6:24 CH

Chào bạn, Cho mình hỏi như đoạn code ví dụ obfuscate của bạn thì dùng thư viện gì vậy?

0

đúng rồi đó dòng 2 viết thiếu thì phải

0

Góp ý:

là một khung công tác

Nên để là framework không nên dịch ra, gây khó hiểu hơn.

JSX là một chút tiên tiến so với các mẫu trong Vue

Đoạn này cũng nên để nguyên từ template hoặc là HTML-based template thì sẽ dễ hiểu hơn.

JSX là một chút tiên tiến so với template trong Vue

+2

bạn up lên youtube luôn đi. video ở google drive sẽ bị giới hạn lượt xem

+1

Vậy e thích cái nào hơn =))

0
thg 6 20, 2019 3:23 CH

DELIMITER $$

CREATE TRIGGER preOrderDetail BEFORE INSERT ON OrderDetails FOR EACH ROW

BEGIN

DECLARE soproduct INT;

SET soproduct = (SELECT quantity FROM Products WHERE ProID = NEW.ProID);

IF (NEW.quantity > soproduct) THEN

	ROLLBACK;

END IF;

END;

Không được bạn ạ

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í