【KnockoutJS】Uncaught TypeError: Cannot read property 'toLowerCase' of undefined
KnockoutJS使ってたら
Uncaught TypeError: Cannot read property 'toLowerCase' of undefined
って出てなんぞ( ´_ゝ`) ってなって解決した。
<div data-bind="foreach: people"> <p data-bind="text: name, click: clickName"></p> </div>
という感じで記述していたのですが、js側で実装しているclickName関数は一つ上のコンテキストなので$parent.clickNameと記述しないとダメだった。なので、
<div data-bind="foreach: people"> <p data-bind="text: name, click: $parent.clickName"></p> </div>
これが正解っぽい。
ただ、エラー文(Uncaught TypeError: Cannot read property 'toLowerCase' of undefined)の意味はよく分からんかった。おそらくKnockoutJSの内部的にtoLowerCaseを使ってる部分があって、そこでエラーなんだろうなー...