knockout.js data-bindでviewmodel外の関数よぶ
■ data-bind内で他の普通の関数呼びたい、そしてdata-bindにある要素つかいたい
<ul data-bind="foreach: list"> <p data-bind="text: title"></p> <span data-bind="text: description"></span> <a href="javascript:void(0)" data-bind="click: _deleteVideo">ビデオ削除</a> </ul> <script type="text/javascript"> var _deleteVideo = function() { //このthisにforeachでまわしてるlistの中身が入ってくる console.log(this); } </script>
※ data-bind="click: _deleteVideo()" ()をつけると、勝手に実行されてしまうので、_deleteVideo(id)のように引数をつけて実行することはできない。clickならthisで中身とれるので大丈夫だけど他はどうするんだろう…
参考)
http://stackoverflow.com/questions/19062629/can-i-call-function-outside-viewmodel-on-knockouthttp://knockoutjs.com/documentation/click-binding.html