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 相关文章推荐
Javascript实现的分页函数
Dec 22 Javascript
jquery图片不完全按比例自动缩小的简单代码
Jul 29 Javascript
JavaScript中读取和保存文件实例
May 08 Javascript
理解JavaScript事件对象
Jan 25 Javascript
JS判断图片是否加载完成方法汇总(最新版)
May 13 Javascript
JS匿名函数类生成方式实例分析
Nov 26 Javascript
关于页面刷新vuex数据消失问题解决方案
Jul 03 Javascript
Bootstrap实现翻页效果
Nov 27 Javascript
Angular 利用路由跳转到指定页面的指定位置方法
Aug 31 Javascript
JavaScript检查数据中是否存在相同的元素(两种方法)
Oct 07 Javascript
vue 实现小程序或商品秒杀倒计时
Apr 14 Javascript
浅谈JavaScript节流和防抖函数
Aug 25 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做的端口嗅探器--可以指定网站和端口
2006/10/09 PHP
PHP合并数组+与array_merge的区别分析
2010/08/01 PHP
php smarty 二级分类代码和模版循环例子
2011/06/01 PHP
smarty模板中使用get、post、request、cookies、session变量的方法
2014/04/24 PHP
PHP采用get获取url汉字出现乱码的解决方法
2014/11/13 PHP
php将一维数组转换为每3个连续值组成的二维数组
2016/05/06 PHP
关于 Laravel Redis 多个进程同时取队列问题详解
2017/12/25 PHP
PHP输出Excel PHPExcel的方法
2018/07/26 PHP
jquery 多行滚动代码(附详细解释)
2010/06/17 Javascript
jQuery功能函数详解
2015/02/01 Javascript
JavaScript中的splice()方法使用详解
2015/06/09 Javascript
jQuery数据检索中根据关键字快速定位GridView指定行的实现方法
2016/06/08 Javascript
Bootstrap框架结合jQuery仿百度换肤功能实例解析
2016/09/17 Javascript
jQuery简单获取DIV和A标签元素位置的方法
2017/02/07 Javascript
Vue的Class与Style绑定的方法
2017/09/01 Javascript
把JavaScript代码改成ES6语法不完全指南(分享)
2017/09/10 Javascript
webpack里使用jquery.mCustomScrollbar插件的方法
2018/05/30 jQuery
Vue多组件仓库开发与发布详解
2019/02/28 Javascript
JavaScript实现图片伪异步上传过程解析
2020/04/10 Javascript
Vue基于iview table展示图片实现点击放大
2020/08/05 Javascript
理解JavaScript中的对象
2020/08/25 Javascript
Antd表格滚动 宽度自适应 不换行的实例
2020/10/27 Javascript
[49:20]VG vs TNC Supermajor小组赛B组败者组决赛 BO3 第二场 6.2
2018/06/03 DOTA
python3+selenium自动化测试框架详解
2019/03/17 Python
使用Python和Prometheus跟踪天气的使用方法
2019/05/06 Python
python3 下载网络图片代码实例
2019/08/27 Python
Python 使用 environs 库定义环境变量的方法
2020/02/25 Python
python 实现PIL模块在图片画线写字
2020/05/16 Python
Softmax函数原理及Python实现过程解析
2020/05/22 Python
如何利用python 读取配置文件
2021/01/06 Python
AmazeUI的JS表单验证框架实战示例分享
2020/08/21 HTML / CSS
Myprotein瑞典官方网站:畅销欧洲英国运动营养品牌
2018/01/22 全球购物
波兰品牌鞋履在线商店:Eastend.pl
2020/01/11 全球购物
我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种编码的字符串?
2014/03/30 面试题
2014年秋季新学期寄语
2014/08/02 职场文书
国庆节主题班会
2015/08/15 职场文书