Giúp mình về mô hình MVC trong mysql



  • @Sang-Nhoc Híc. Cái này mình chịu. Vì mình ít dùng module render lắm. Mà nhớ mang máng là view engine + object data = html á

    Sent from Wood-PC.

    0


  • Ý mình là viết một hàm mà lúc nào cũng xử dụng được:

    Ví dụ: mình có hàm lấy ra danh sách menu sản phẩm, trang nào cũng sử dụng menu đó.

    Mỗi lần trang nào mình cũng require như vậy thì không hay ak.

    Giống như bên php có hàm init() mặc định lúc nào cũng chạy hàm này.

    Bên nodejs có cách nào không nhỉ.



  • @Sang-Nhoc Bạn xem sử dụng biến global nha. Do mình vẫn dùng import export. Vì mình theo trường phái biết tất cả những gì import và export.
    Còn init() của bạn thì giống constructor thôi:
    Cách 1:

    class DemoClass {
        constructor() {
        }
    }
    

    Cách 2:

    function DemoClass() {
        // Constructor code ở đây.
    }
    
    DemoClass.prototype.method = function() { // Code method ở đây }
    

    2 cách trên thfi khi gòi DemoClass thì constructor đều chạy. Bạn phối hợp 2 cái thì sẽ đạt được yêu cầu.

    Sent from Wood-PC.

    0


  • ý là mình chỉ gọi hàm một lần thôi ở app.js thì router nào cũng chạy như global vậy.

    Cách của bạn nó phải gọi lại liên tục ở mỗi router.

    Như global thì giả quyết OK, nhưng nó chỉ thực hiện nhưng dòng text ví dụ:

    global.copyright = "copyright @ 2018"

    Chứ thực thì một hàm có truy vấn mysql thì thấy cũng hơi rối, ngoài global còn cách nào không nhỉ.



  • @Sang-Nhoc Bạn xem việc sử dụng middle-ware nhé. Mình nghĩ có thằng đó đáp ứng viếc bạn muons đó. Có thể viết 1 middle-ware trước khi render trả về.

    Sent from Wood-PC.

    0


  • Theo mình biết middle ware thì khi get router từ server mới chạy, tức là mình vẫn truyền biến request. Thì mỗi router mình vẫn phải truyền vào render mới chạy.

    Bạn viết một project mà menu trang nào cũng có, mà menu lấy ra từ DB.

    Ví dụ:

    /user, /home, /contact, ....

    Nếu viết middle ware thì lúc nào mình cũng phải truyền $menu vào nó mới hiện, vậy thì rất cực và khó kiểm soát.

    Có cách nào viết mà mình không thông qua router và đi tới tempalte luôn như biên global vậy nhỉ



  • @Sang-Nhoc Tại vì mình chưa bao giờ dùng thằng render engine của các framework như EJS, etc... Mình dùng React và Angular thành 1 folder project để xử lỉ rieeng. Nên cũng hiểu nhưng chưa biết cách best choice để xử lí dùm bạn. Mình sẽ đá topic nên cho mọi người thảo luận. Vì câu hỏi hay.

    Middle ware thêm cái đằng sau bạn đừng gọi render. Bạn viết kiểu

    app.user((req, res) => {
      const data = req.data;
      data.title = 'Tittle';
     res.render(...);
    })
    

    Ý mình là như vầy. Để thằng middle-ware này render dùm bạn. Còn logic controller kia là lấy data rồi đính vào req.data sau đó gọi next để đi tiếp (Trên kiến thức mình về express nha) :))

    Sent from Wood-PC.

    0


  • Angular js thì mình thấy xử lý ok, tại mình thấy chèn thêm Angular vào sẽ làm web mình nặng.

    Tks bạn.



  • @Sang-Nhoc Nặng nếu bạn để chung resource thôi. Chứ nếu 2 phân. 1 API server. 1 Frontend Angularjs thì ko có vấn đề.

    Sent from Wood-PC.

    0

Log in to reply