index.html 3.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>Todo</title>
  5. <meta charset="utf-8">
  6. <link rel="stylesheet" type="text/css" href="bower_components/todomvc-common/base.css">
  7. <style> [v-cloak] { display: none; } </style>
  8. </head>
  9. <body>
  10. <section id="todoapp">
  11. <header id="header">
  12. <h1>todos</h1>
  13. <input
  14. id="new-todo"
  15. autofocus
  16. autocomplete="off"
  17. placeholder="What needs to be done?"
  18. v-model="newTodo"
  19. v-on="keyup:addTodo | key enter"
  20. >
  21. </header>
  22. <section id="main" v-show="todos.length" v-cloak>
  23. <input
  24. id="toggle-all"
  25. type="checkbox"
  26. v-model="allDone"
  27. >
  28. <ul id="todo-list">
  29. <li
  30. class="todo"
  31. v-repeat="todos"
  32. v-if="filterTodo(this)"
  33. v-class="
  34. completed : completed,
  35. editing : this == editedTodo
  36. "
  37. >
  38. <div class="view">
  39. <input
  40. class="toggle"
  41. type="checkbox"
  42. v-model="completed"
  43. v-on="change: toggleTodo(this)"
  44. >
  45. <label v-text="title" v-on="dblclick: editTodo(this)"></label>
  46. <button class="destroy" v-on="click: removeTodo(this)"></button>
  47. </div>
  48. <input
  49. class="edit"
  50. type="text"
  51. v-model="title"
  52. v-todo-focus="this == editedTodo"
  53. v-on="
  54. blur : doneEdit(this),
  55. keyup : doneEdit(this) | key enter,
  56. keyup : cancelEdit(this) | key esc
  57. "
  58. >
  59. </li>
  60. </ul>
  61. </section>
  62. <footer id="footer" v-show="todos.length" v-cloak>
  63. <span id="todo-count">
  64. <strong v-text="remaining"></strong> {{remaining | pluralize item}} left
  65. </span>
  66. <ul id="filters">
  67. <li><a href="#/all" v-class="selected:filter=='all'">All</a></li>
  68. <li><a href="#/active" v-class="selected:filter=='active'">Active</a></li>
  69. <li><a href="#/completed" v-class="selected:filter=='completed'">Completed</a></li>
  70. </ul>
  71. <button id="clear-completed" v-on="click:removeCompleted" v-show="todos.length > remaining">
  72. Clear completed ({{todos.length - remaining}})
  73. </button>
  74. </footer>
  75. </section>
  76. <footer id="info">
  77. <p>Double-click to edit a todo</p>
  78. <p>Powered by <a href="https://github.com/yyx990803/vue">VueJS</a></p>
  79. <p>Created by <a href="http://evanyou.me">Evan You</a></p>
  80. </footer>
  81. <!-- for PhantomJS/CasperJS testing only -->
  82. <script>
  83. if (navigator.userAgent.indexOf('PhantomJS') > -1) {
  84. localStorage.clear()
  85. }
  86. </script>
  87. <!-- end testing -->
  88. <script src="../../dist/vue.js"></script>
  89. <script src="bower_components/director/director.js"></script>
  90. <script src="js/store.js"></script>
  91. <script src="js/app.js"></script>
  92. <script src="js/routes.js"></script>
  93. <script src="js/benchmark.js"></script>
  94. </body>
  95. </html>