Vue简易便签实现  
html部分   
<! DOCTYPE  html >  
< html  lang = " en" >  
< head>  
    < meta  charset = " UTF-8" >  
    < meta  name = " viewport"   content = " width=device-width, initial-scale=1.0" >  
    < meta  http-equiv = " X-UA-Compatible"   content = " ie=edge" >  
    < title>  小钱便签</ title>  
    
    < link  rel = " stylesheet"   type = " text/css"   href = " index.css" />  
</ head>  
< body>  
	
    < section  id = " app" >  
        
        < header>  
        	< h1  class = " title" >  便签</ h1>  
        	< input  type = " text"   v-model = " inputValue"   autofocus = " autofocus"   
                   placeholder = " 请输入事项"   autocomplete = " off"   class = " new-todo"   
                   @keyup.enter = " add" />  
        </ header>  
    	
    	< section  class = " main" >  
        	< ul  class = " todo-list" >  
                < li  class = " todo"   v-for = " (item, index) in list" >  
                	< div  class = " view" >  
                        < span  class = " index" >  {{ index + 1 }}</ span>  
                        < label>  {{ item }}</ label>  
                        < button  class = " destroy"   @click = " remove(index)" >  删除</ button>  
                    </ div>  
                </ li>  
            </ ul>  
        </ section>  
    	
        < footer  class = " footer" >  
            < span  class = " todo-count"   v-if = " list.length != 0" >  {{ list.length }}< strong> </ strong>  @nbsp;items left</ span>  
            < button  @click = " clear"   v-show = " list.length != 0" >  Clear</ button>  
        </ footer>  
    </ section>  
    
    < footer  class = " info" >  
        < p>  
            < a  href = " https://www.baidu.com/" > < img  src = " https://www.baidu.com/img/flexible/logo/pc/result.png" /> </ a>  
        </ p>  
    </ footer>      
    
    < script  src = " https://cdn.jsdelivr.net/npm/vue/dist/vue.js" > </ script>  
    < script> 
    	var  app =  new  Vue ( { 
            el :  '#app' , 
            data :  { 
                list :  [ "糖醋里脊" ,  "红烧狮子头" ,  "蒸鸡蛋" ] , 
                
                inputValue :  "" 
            } , 
            methods :  { 
                add :  function ( )  { 
                    this . list. push ( this . inputValue) ; 
                } , 
                remove :  function ( index )  { 
                    this . list. splice ( index,  1 ) ; 
                } , 
                clear :  function ( )  { 
                    this . list =  [ ] 
                } 
            } 
        } ) 
     </ script>  
</ body>      
</ html>  
  
css样式表   
*  { 
    padding :  0; 
    margin :  0; 
} 
#app  { 
    width :  300px; 
    
    margin :  5px auto; 
    box-shadow :  0px 3px 10x 2px rgba ( 0,  0,  0,  0.1) ; 
} 
.title  { 
    font :  normal 200 34px '微软雅黑' ; 
    color :  rgb ( 219,  82,  82) ; 
    text-align :  center; 
    padding-top :  100px; 
    padding-bottom :  10px; 
} 
.new-todo  { 
    width :  100%; 
    height :  40px; 
    padding-left :  10px; 
    color :  rgb ( 88,  88,  88) ; 
    box-sizing :  border-box; 
    border :  1px solid rgb ( 236,  236,  236) ; 
} 
.new-todo:focus  { 
    outline :  none; 
} 
.footer  { 
    position :  relative; 
    width :  100%; 
    height :  40px; 
    box-sizing :  border-box; 
    border :  1px solid rgb ( 236,  236,  236) ; 
    background-color :  white; 
} 
.footer span  { 
    font-size :  12px; 
    color :  rgb ( 131,  131,  131) ; 
    float :  left; 
    line-height :  40px; 
} 
.todo-count  { 
    margin-left :  10px; 
} 
.clear-button  { 
    margin-left :  170px; 
} 
.todo  { 
    list-style :  none; 
    font-size :  14px; 
    font-family :  '微软雅黑' ; 
    color :  rgb ( 88,  88,  88) ; 
    box-sizing :  border-box; 
    width :  100%; 
    height :  40px; 
    line-height :  40px; 
    border :  1px solid rgb ( 236,  236,  236) ; 
    background-color :  white; 
} 
.view  { 
    position :  relative; 
    margin-left :  10px; 
} 
.view label  { 
    width :  200px; 
    height :  40px; 
    position :  absolute; 
    
    overflow :  hidden; 
    
    text-overflow :  ellipsis; 
    
    white-space :  nowrap; 
} 
.destroy  { 
    position :  absolute; 
    right :  10px; 
    top :  9px; 
    font-size :  12px; 
    font-family :  '微软雅黑' ; 
    outline :  none; 
    border :  1px solid rgb ( 236,  236,  236) ; 
    color :  rgb ( 255,  111,  111) ; 
    display :  none; 
} 
.view:hover .destroy  { 
    display :  block; 
} 
.footer button  { 
    position :  absolute; 
    right :  10px; 
    top :  9px; 
    font-size :  12px; 
    font-family :  '微软雅黑' ; 
    outline :  none; 
    border :  0px; 
    color :  rgb ( 131,  131,  131) ; 
} 
.info  { 
    margin :  5px auto; 
    width :  300px; 
} 
.info a  { 
    padding-left :  50px; 
}