vue v-for 组件传值 enter传值

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="UTF-8">
 5         <title>vue</title>
 6     </head>
 7     <body>
 8         
 9         <div id="app">
10             <!--v-on:keyup.enter="addNewTodo"简写成@keyup.enter="addNewTodo"-->
11             <input type="text" 
12                 v-model="newTodoText"
13 
14                 v-on:keyup.enter="addNewTodo"
15                 placeholder="add a todo"
16                 />
17             <ul>
18                 <li 
19                     is="todo-item"
20                     v-for="(todo,index) in todos"    
21                     :key="todo.id"
22                     :title="todo.title"
23                     @remove="todos.splice(index, 1)"
24                     ></li>
25             </ul>
26         </div>
27         <!-- 开发环境版本,包含了用帮助的命令行警告 -->
28         <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
29         <script type="text/javascript">
30             Vue.component('todo-item',{
31                 template: '\
32                             <li>\
33                               {{ title }}\
34                               <button @click="$emit(\'remove\')">X</button>\
35                             </li>\
36                           ',
37                 props:['title']
38             })
39             new Vue({
40                 el:'#app',
41                 data: {
42                     todos: [
43                         {
44                             id: 1,
45                             title: 'Do the dishes',
46                         },
47                         {
48                             id: 2,
49                             title: 'Take out the trash',
50                         },
51                         {
52                             id: 3,
53                             title: 'Mow the lawn'
54                         }
55                     ],
56                     newTodoText:'',
57                     nextTodoId: 4
58                 },
59                 methods: {
60                     addNewTodo: function () {
61                       this.todos.push({
62                         id: this.nextTodoId++,
63                         title: this.newTodoText
64                       })
65                       this.newTodoText = ''
66                     }
67                 }
68             })
69         </script>
70     </body>
71 </html>

 

posted @ 2018-05-08 09:54  铜镜123  阅读(443)  评论(0)    收藏  举报