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 相关文章推荐
简单通用的JS滑动门代码
Dec 19 Javascript
JavaScript 页面编码与浏览器类型判断代码
Jun 03 Javascript
8个超棒的学习 jQuery 的网站 推荐收藏
Apr 02 Javascript
利用JavaScript实现新闻滚动效果(实例代码)
Nov 27 Javascript
Javascript实现带关闭按钮的网页漂浮广告代码
Jan 12 Javascript
修改js confirm alert 提示框文字的简单实例
Jun 10 Javascript
实现点击下箭头变上箭头来回切换的两种方法【推荐】
Dec 14 Javascript
ES6中Proxy代理用法实例浅析
Apr 06 Javascript
BootStrap入门学习第一篇
Aug 28 Javascript
vue中配置mint-ui报css错误问题的解决方法
Oct 11 Javascript
基于vue-cli 打包时抽离项目相关配置文件详解
Mar 07 Javascript
vue使用微信扫一扫功能的实现代码
Apr 11 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多线程异步请求的3种方法
2014/01/17 PHP
PHP结合jQuery.autocomplete插件实现输入自动完成提示的功能
2015/04/27 PHP
给大家分享几个常用的PHP函数
2017/01/15 PHP
Javascript中的相等与不等运算
2010/04/25 Javascript
JavaScript使用过程中需要注意的地方和一些基本语法
2010/08/26 Javascript
文件编码导致jquery失效的解决方法
2013/06/26 Javascript
jquery图片轮播插件仿支付宝2013版全屏图片幻灯片
2014/04/03 Javascript
JavaScript实现下拉菜单的显示和隐藏
2016/01/05 Javascript
基于angularjs实现图片放大镜效果
2016/08/31 Javascript
本地Bootstrap文件字体图标引入却无法显示问题的解决方法
2020/04/18 Javascript
webpack学习教程之前端性能优化总结
2017/12/05 Javascript
Bootstrap 模态框自定义点击和关闭事件详解
2018/08/10 Javascript
vue组件之间数据传递的方法实例分析
2019/02/12 Javascript
解决layui 三级联动下拉框更新时回显的问题
2019/09/03 Javascript
学习python (2)
2006/10/31 Python
python list转dict示例分享
2014/01/28 Python
在Python程序中操作文件之isatty()方法的使用教程
2015/05/24 Python
python机器学习之神经网络(一)
2017/12/20 Python
python3.5基于TCP实现文件传输
2020/03/20 Python
对python创建及引用动态变量名的示例讲解
2018/11/10 Python
python程序封装为win32服务的方法
2021/03/07 Python
django+tornado实现实时查看远程日志的方法
2019/08/12 Python
Python多线程正确用法实例解析
2020/05/30 Python
英国旅游额外服务市场领导者:Holiday Extras(机场停车场、酒店、接送等)
2017/10/07 全球购物
全球知名的珠宝首饰品牌:Kay Jewelers
2018/02/11 全球购物
手机业务员岗位职责
2013/12/13 职场文书
《一个中国孩子的呼声》教学反思
2014/02/12 职场文书
员工薪酬激励方案
2014/06/13 职场文书
2014最新版群众路线四风整改措施
2014/09/24 职场文书
大学拉赞助协议书范文
2014/09/26 职场文书
中学教师个人总结
2015/02/10 职场文书
2015高三毕业寄语赠言
2015/02/27 职场文书
保护环境建议书作文400字
2015/09/14 职场文书
装修安全责任协议书
2016/03/22 职场文书
爱国之歌(8首)
2019/09/29 职场文书
Mysql中存储引擎的区别及比较
2021/06/04 MySQL