2013-06-25 69 views
0

有時候,我得到這樣一個錯誤:獲取元素'無法解析綁定。'錯誤淘汰賽JS

Uncaught Error: Unable to parse bindings. 
Message: ReferenceError: items is not defined; 
Bindings value: foreach: items() 

我很滿意我目前的調試結合故障的方法 - 看this answer

問題是我有時不知道元件要調試。在我的項目中,我使用屬性名稱爲items()來處理不同的上下文。

現在我可以做的唯一一件事情就是搜索我的整個項目foreach: items()並替換爲debug: $data

是否有某種方式可以在投擲後找到元素

有沒有辦法讓Knockout.js在綁定錯誤期間拋出元素的xpath?

回答

0

沒有一個好的方法可以做到這一點我的知識,但你可以通過使用命名的函數聲明讓JavaScript多一點工作。像這樣的東西

foreach: items() 

所以更換此

foreach: function shoppingcartItems(){ return items(); } 

或代替(如果你想上下文細節)把它們放在你的範圍內:

var someKOContext = { 

    items: function someKOContextItems(){ return realItems() } 

} 

var someOtherKOContext = { 

    items: function someOtherContextItems() { return realItems() } 

} 

這些技巧應該會增強控制檯錯誤消息的可讀性,併爲您提供更多信息跟蹤你的錯誤發生的地點(或者至少從哪個上下文開始,或html元素)