ctx.blockModel
Model block cha (instance BlockModel) nơi JS field / JS block hiện tại đang nằm. Trong các kịch bản như JSField, JSItem, JSColumn, ctx.blockModel trỏ tới block form hoặc block table chứa logic JS hiện tại; trong block JSBlock độc lập có thể là null hoặc giống với ctx.model.
Kịch bản áp dụng
Lưu ý:
ctx.blockModelchỉ khả dụng trong ngữ cảnh RunJS có block cha; với JSBlock độc lập (không có block form/table cha) có thể lànull, khuyến nghị kiểm tra null trước khi sử dụng.
Định nghĩa kiểu
Kiểu cụ thể tùy thuộc vào kiểu block cha: block form thường là FormBlockModel, EditFormModel, block table thường là TableBlockModel.
Thuộc tính thường dùng
Quan hệ với ctx.model, ctx.form
Trong JSField, ctx.model là model field, ctx.blockModel là block form/table chứa field đó; ctx.form thường là ctx.blockModel.form.
Ví dụ
Table: lấy hàng đã chọn và xử lý
Kịch bản form: validate và refresh
Lắng nghe thay đổi form
Trigger render lại block
Lưu ý
ctx.blockModelcó thể lànulltrong JSBlock độc lập (không có block form/table cha), khuyến nghị sử dụng optional chaining khi truy cập thuộc tính:ctx.blockModel?.resource?.refresh?.().- Trong JSField / JSItem / JSColumn,
ctx.blockModellà block form hoặc table chứa field hiện tại; trong JSBlock, có thể là chính nó hoặc block cấp trên, tùy thuộc vào cấp bậc thực tế. resourcechỉ tồn tại trong block dữ liệu;formchỉ tồn tại trong block form, block table thường không cóform.
Liên quan
- ctx.model: Model nơi ngữ cảnh thực thi hiện tại đang nằm
- ctx.form: Instance form, thường dùng trong block form
- ctx.resource: Instance resource (tương đương với
ctx.blockModel?.resource, sử dụng trực tiếp nếu có) - ctx.getModel(): Lấy model block khác theo uid

