vue实现todolist功能、todolist组件拆分及todolist的删除功能


Posted in Javascript onApril 11, 2019

•简单todolist功能的实现

用户点击提交按钮时,将input框的内容显示在下方的list中,同时清空list中内容。

<body>
  <div id="root">
    <div>
      <input v-model="inputValue"/>
      <button @click="submit">submit</button>
    </div>
    <ul>
      <li v-for="(item,index) of list" :key="index">{{item}}</li>
    </ul>
  </div>
  <script>
    new Vue({
      el:"#root",
      data:{
        inputValue:'',
        list:[]
      },
      methods:{
        submit:function(){
          this.list.push(this.inputValue);
          this.inputValue=''
        }
      }
    })
  </script>
</body>

“input”输入框和“inputValue”数据双向绑定

通过click事件,来讲"inputValue"中的内容添加到"list"中

向列表中添加数据用 push( )      this.list.pust(this.inputValue)

每次添加"list"后,把input内容清空

•todolist组件拆分

1. Vue.component是全局组件,是vue提供的创建组件的方法。里面可以写模板:template

2. 创建组件之后,可以直接使用。比如创建的组件名字是'todo-item',就可以使用<todo-item></todo-item>

3.

<div id="root">
  <ul>
    <todo-item></todo-item>
  </ul>
</div>
<script>
  Vue.component('todo-item',{
  template:'<li>item<li>'
  })
  new Vue({
    el:"root"
  })
</script>

4.局部组件var TodoItem={}这里只写了部分代码

5.

div id="root">
  <ul>
    <todo-item></todo-item>
  </ul>
</div>
<script>
  var TodoItem={
     template:'<li>item<li>'
  }
  new Vue({
    el:"root",
    components:{
      'todo-item':TodoItem
    } 
  })
</script>

6. 
 如果想在其他vue里面使用这个局部组件,需要在vue里对该局部组件进行注册

7.当用组件来实现最上面的那个todolist功能时,需要进行参数的传递和接收,用content和props

8.

<body>
  <div id="root">
    <div>
      <input v-model="inputValue"/>
      <button @click="submit">submit</button>
    </div>
    <ul>
      <todo-item v-for="(item,index) of list" 
      :key="index" 
      :content="item"
      >
      </todo-item>
    </ul>
  </div>
  <script>
    Vue.component('todo-item',{
      props:['content'],
      template:'<li>{{content}}<li>'
    })
    new Vue({
      el:"#root",
      data:{
        inputValue:'',
        list:[]
      },
      methods:{
        submit:function(){
          this.list.push(this.inputValue)
          this.inputValue=' '
        }
      }
    })
  </script>
</body>

9.

这里面用content来传递item的值,用props来接收content的值。实现数据的传递功能

• todolist的删除功能

1.

继续上面的代码,当点击list数据的时候,实现list的删除功能

2.

首先来捋一下逻辑:创建的最外层的大组件/实例中使用了一个小的组件todoitem,我们可以认为最外层的大组件为父组件,里面的小组件为子组件。

3.

我们在父组件中通过属性的形式给子组件传递了具体的内容,然后子组件进行接收父组件传递的内容,然后在子组件的模板中进行显示。

4.

要想实现子组件中数据的删除,需要删除父组件中对应的数据。当点击子组件的数据时,要实现子组件和父组件的通信,来在父组件中进行删除对应数据的操作。

5.

<body>
  <div id="root">
    <div>
      <input v-model="inputValue"/>
      <button @click="submit">submit</button>
    </div>
    <ul>
      <todo-item v-for="(item,index) of list" 
      :key="index" 
      :content="item"
      :index="index"
      @delete="handleDelete"
      >
      </todo-item>
    </ul>
  </div>
  <script>
    Vue.component('todo-item',{
      props:['content','index'],
      template:'<li @clicl="handleClick">{{content}}<li>',
      methods:{
        handleClick:function(){
          this.$emit('delete',this.index)
        }
      }
    })
    new Vue({
      el:"#root",
      data:{
        inputValue='',
        list=[]
      },
      methods:{
        submit:function(){
          this.list.push(this.inputValue)
          this.inputValue=' '
        },
        handleDelete:function(index){
          this.list.splice(index,1)
        }
      }
    })
  </script>
</body>

总结

以上所述是小编给大家介绍的vue实现todolist功能、todolist组件拆分及todolist的删除功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
封装好的省市地区联动控件附下载
Aug 13 Javascript
js 鼠标拖动对象 可让任何div实现拖动效果
Nov 09 Javascript
javascript 模拟JQuery的Ready方法实现并出现的问题
Dec 06 Javascript
jQuery获取选中内容及设置元素属性的方法
Jul 09 Javascript
AngularJS教程 ng-style 指令简单示例
Aug 03 Javascript
关于vuex的学习实践笔记
Apr 05 Javascript
JS实现汉字与Unicode码相互转换的方法详解
Apr 28 Javascript
在vue中解决提示警告 for循环报错的方法
Sep 28 Javascript
微信小程序自定义单项选择器样式
Jul 25 Javascript
解决layer.confirm快速点击会重复触发事件的问题
Sep 23 Javascript
JS如何在不同平台实现多语言方式
Jul 16 Javascript
Vue中正确使用Element-UI组件的方法实例
Oct 13 Javascript
vue实现todolist基本功能以及数据存储功能实例详解
Apr 11 #Javascript
JavaScript高阶教程之“==”隐藏下的类型转换
Apr 11 #Javascript
使用Vue父子组件通信实现todolist的功能示例代码
Apr 11 #Javascript
详解jQuery设置内容和属性
Apr 11 #jQuery
js作用域和作用域链及预解析
Apr 11 #Javascript
关于js陀螺仪的理解分析
Apr 11 #Javascript
angular 表单验证器验证的同时限制输入的实现
Apr 11 #Javascript
You might like
php下过滤html代码的函数 提高程序安全性
2010/03/02 PHP
php代码书写习惯优化小结
2013/06/20 PHP
PHP的一个完美GIF等比缩放类,附带去除缩放黑背景
2014/04/01 PHP
ecshop 2.72如何修改后台访问地址
2015/03/03 PHP
php 中self,this的区别和操作方法实例分析
2019/11/04 PHP
PHP数组Key强制类型转换实现原理解析
2020/09/01 PHP
学习ExtJS Column布局
2009/10/08 Javascript
jQuery:节点(插入,复制,替换,删除)操作
2013/03/04 Javascript
基于JavaScript 下namespace 功能的简单分析
2013/07/05 Javascript
页面定时刷新(1秒刷新一次)
2013/11/22 Javascript
js密码强度检测
2016/01/07 Javascript
javascript html5摇一摇功能的实现
2016/04/19 Javascript
Bootstrap实现下拉菜单效果
2016/04/29 Javascript
静态页面html中跳转传值的JS处理技巧
2016/06/22 Javascript
jQuery EasyUI Tab 选项卡问题小结
2016/08/16 Javascript
JS array数组检测方式解析
2020/05/19 Javascript
Python中使用中文的方法
2011/02/19 Python
python获取网页状态码示例
2014/03/30 Python
Python入门之modf()方法的使用
2015/05/15 Python
python中的随机函数小结
2018/01/27 Python
pandas的唯一值、值计数以及成员资格的示例
2018/07/25 Python
解决Python计算矩阵乘向量,矩阵乘实数的一些小错误
2019/08/26 Python
Python 实现自动完成A4标签排版打印功能
2020/04/09 Python
Python爬虫入门有哪些基础知识点
2020/06/02 Python
python的launcher用法知识点总结
2020/08/07 Python
丝芙兰巴西官方商城:SEPHORA巴西
2016/10/31 全球购物
亿阳信通股份有限公司C#笔试题
2016/12/06 面试题
酒店保洁主管岗位职责
2013/11/28 职场文书
心理健康教育心得体会
2013/12/29 职场文书
党员干部2014全国两会学习心得体会
2014/03/10 职场文书
关于安全演讲稿
2014/05/09 职场文书
大学军训自我鉴定大全
2014/09/18 职场文书
党政领导班子群众路线对照检查材料
2014/10/26 职场文书
员工工作能力评语
2014/12/31 职场文书
大班下学期个人总结
2015/02/13 职场文书
JS实现页面炫酷的时钟特效示例
2022/08/14 Javascript