1

quickbuy_view.checkout() オブジェクトを受け入れる関数がありproductます。関数を呼び出す

quickbuy_view.checkout(new Product(12530257))

これはバグが発生するコードの一部です

console.log('quickbuy_view')
console.log(quickbuy_view)
console.log('quickbuy_view.product')
console.log(quickbuy_view.product)
console.log('quickbuy_view.product.displays');
console.log(quickbuy_view.product.displays);

var display = quickbuy_view.product.displays[0];
//This is where the actual error occurs
$('#quickbuy .display .main img').attr('src',display.vw1Reg)

chromeのコンソールでは、長さ3quickbuy_view.productの配列を持つオブジェクトが返されることがわかります。ただし、ログに記録しようとすると、空の配列が返されます。displaysquickbuy_view.product.displays

奇妙なことに、後で入力するquickbuy_view.product.displaysと、期待どおりに配列が取得されます。

コンソールビュー

4

1 に答える 1

2

これは、Chrome Dev Tools のconsole.log動作が原因です。オブジェクトをログに記録すると、オブジェクトはまだライブです。つまり、現在の状態のスナップショップではありません。ただし、プリミティブをログに記録すると、それがプロパティの現在の状態になります。

したがって、displaysコードがログに記録された後に配列が設定されますが、productプロパティを調べると「ライブ」であるため、展開するまで更新されません。

于 2012-07-18T15:17:11.357 に答える