Cho em hỏi làm thế nào để chuyển được biến từ API thành biến trong JS được ạ ??
Có 2 lệnh console.log(row); mình sẽ gọi nó là log1 và log2. lệnh log1 thì đã ghi ra giá trị bạn muốn, nên mình chỉ sẽ nhắc đến lệnh log2 ở dưới. Vì method fetch trả về 1 Promise, nên phải sử dụng then để đọc tiếp dữ liệu trả về của Promise đó khi nó xử lý xong. (có cách khác là sử dụng async/await). Theo như code của bạn, Khi Promise xử lý xong nó sẽ gọi đến function _getData, Khi function _getData được gọi nó gán được giá trị vào biến row đúng mục đích của bạn rồi đấy, nhưng tiếc rằng lệnh log2 lại được gọi trước khi Promise được xử lý xong (lúc đó hàm _getData chưa được gọi và chưa làm thay đổi biến row) nên tất nhiên nó sẽ ghi ra giá trị là undefine.
Giải quyết vấn đề này có nhiều cách.
1. Xử lý tiếp logic ngay trong function _getData (không khuyến khích)
function _getData(data){
row = parseInt(data.length / colPerRow);
//code
}
2. Tiếp tục dùng then để xử lý tiếp.
fetch(uri)
.then(response => response.json())
.then(data => _getData(data))
.then(() => doSomeThing())
.catch(error => console.error('Unable ...', error));
Nhưng, sử dụng then nhiều thì code sẽ rất rối.
3. Xử dụng async/await (khuyến khích)
let data = await fetch(uri).then(response => response.json());
row = data.length/colPerRow;
//code
Làm thế nào để truyền một Object từ View này sang View khác bằng Javascript trong ASP.NET CORE ?
Bạn có thể sử dụng window.localStorage để lưu nó ngay client bằng cách
localStorage.setItem('key', obj);
Ở view khác bạn truy xuất bằng cách
var obj = localStorage.getItem('key');
How to disable dropdown option el-select ?
Bạn đặt thêm id hoặc ref cho select đó và cài đặt xử lý event keydown lúc mounted, nếu event.keyCode = 13 (enter) thì bạn stopPropagation event đó đi.
Ví dụ: mounted: document.getElementById('my-select').addEventListener('keydown',(e)=>{ if(e.keyCode == 13){ e.stopPropagation() } })
Toán tử php
bạn tìm hiểu "Ký pháp Ba Lan/ Ba Lan đảo" nhé, Chuyển công thức thường về ký pháp Ba Lan Đảo rồi thay giá trị để tính ra kết quả.
Tổ chức
Chưa có tổ chức nào.