ลองใช้สิ่งที่เรียบง่ายที่ฉันใช้:
function echo(whatever) { debugger; return whatever; }
หรือ
function echo(whatever) { console.log(whatever); return whatever; }
จากนั้นใน html ให้พูดว่าคุณมี:
<div data-bind="text: value"></div>
เพียงแทนที่ด้วย
<div data-bind="text: echo(value)"></div>
ขั้นสูงเพิ่มเติม:
function echo(vars, member) { console.log(vars); debugger; return vars[0][member]; }
<div data-bind="text: echo([$data, $root, $parents, $parentContext], 'value')"></div>
สนุก :)
UPDATE
สิ่งที่น่ารำคาญอีกอย่างคือเมื่อคุณพยายามผูกค่าที่ไม่ได้กำหนด ลองนึกภาพในตัวอย่างด้านบนว่าวัตถุข้อมูลนั้นเป็นเพียง {} ไม่ใช่ {value: 'some text'} ในกรณีนี้คุณจะมีปัญหา แต่ด้วยการปรับแต่งต่อไปนี้คุณจะไม่เป็นไร:
<div data-bind="text: $data['value']"></div>