knockout.jsで共通処理のクラス化

  1. <!DOCTYPE html>
  2. <html lang="ja">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>knockout.jsで共通処理のクラス化</title>
  6. <script type="text/javascript" src="jquery-1.5.1.min.js"></script>
  7. <script type="text/javascript" src="knockout-2.1.0beta.js"></script>
  8. <script type="text/javascript">
  9.   // knockout.js ===============================================
  10.   var ko001 = function()
  11.   {
  12.     var self = this;
  13.     
  14.     self.iptVal = ko.observable("");
  15.     
  16.     self.evClick = function(a, b)
  17.     {
  18.       self.iptVal(b.target.innerText);
  19.       i=0;
  20.     }
  21.   }
  22.   function ViewModel() {
  23.     var self = this;
  24.     self.test = [
  25.       new ko001(),
  26.       new ko001(),
  27.     ];
  28.     self.testA = new ko001();
  29.     self.testB = new ko001();
  30.   }
  31.   $(document).ready(function () {
  32.     ko.applyBindings(new ViewModel());
  33.   });
  34. </script>
  35. <style type="text/css">
  36. </style>
  37. </head>
  38. <body>
  39. <h1>knockout.jsで共通処理のクラス化</h1>
  40. <div>
  41. <input type="text" data-bind="value: test[0].iptVal" />
  42. <button data-bind="click: test[0].evClick">配列のひとつめ</button><br />
  43. <input type="text" data-bind="value: test[1].iptVal" />
  44. <button data-bind="click: test[1].evClick">配列のふたつめ</button><br />
  45. <input type="text" data-bind="value: testA.iptVal" />
  46. <button data-bind="click: testA.evClick">別インスタンスのひとつめ</button><br />
  47. <input type="text" data-bind="value: testB.iptVal" />
  48. <button data-bind="click: testB.evClick">別インスタンスのふたつめ</button><br />
  49. </div>
  50. <div style="font-size:10pt;text-align:right;margin-top:0.5em;">
  51. <a href="//tips.recatnap.info/" target="_top">PCスキルの小技・忘却防止メモ</a> -
  52. <a href="//tips.recatnap.info/wiki/" target="_top">PCスキルの小技・忘却防止メモのまとめ(wiki)</a>
  53. </div>
  54. <div style="font-size:10pt;text-align:center;margin-top:0.5em;padding:0.5em;border-top:1px solid #ccc;">
  55. Copyright &copy; 2009 by PCスキルの小技・忘却防止メモ. All rights reserved.
  56. </div>
  57. </body>
  58. </html>