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 相关文章推荐
一个不错的应用,用于提交获取文章内容,不推荐用
Mar 03 Javascript
JScript中的&quot;this&quot;关键字使用方式补充材料
Mar 08 Javascript
JXTree对象,读取外部xml文件数据,生成树的函数
Apr 02 Javascript
jQuery asp.net 用json格式返回自定义对象
Apr 07 Javascript
javascript中call和apply方法浅谈
Sep 27 Javascript
js字母大小写转换实现方法总结
Nov 13 Javascript
js 通过cookie实现刷新不变化树形菜单
Oct 30 Javascript
不同js异步函数同步的实现方法
May 28 Javascript
AngularJS使用ng-class动态增减class样式的方法示例
May 18 Javascript
vue + webpack如何绕过QQ音乐接口对host的验证详解
Jul 01 Javascript
微信小程序页面渲染实现方法
Nov 06 Javascript
Vue自定义表单内容检查rules实例
Oct 30 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代码示例
2016/12/29 PHP
Laravel5.1 框架控制器基础用法实例分析
2020/01/04 PHP
xml和web特殊字符
2009/04/28 Javascript
JavaScript 学习技巧
2010/02/17 Javascript
JQuery选中checkbox方法代码实例(全选、反选、全不选)
2015/04/27 Javascript
浅析js中substring和substr的方法
2015/11/09 Javascript
Vue-Router实现页面正在加载特效方法示例
2017/02/12 Javascript
BootstrapValidator实现注册校验和登录错误提示效果
2017/03/10 Javascript
jQuery中用on绑定事件时需注意的事项
2017/03/19 Javascript
使用JavaScript实现alert的实例代码
2017/07/06 Javascript
js中比较两个对象是否相同的方法示例
2019/09/02 Javascript
vue ajax 拦截原理与实现方法示例
2019/11/29 Javascript
Python探索之修改Python搜索路径
2017/10/25 Python
python实现K最近邻算法
2018/01/29 Python
对python中类的继承与方法重写介绍
2019/01/20 Python
python批量识别图片指定区域文字内容
2019/04/30 Python
django2笔记之路由path语法的实现
2019/07/17 Python
Python数据可视化:顶级绘图库plotly详解
2019/12/07 Python
jupyter notebook 的工作空间设置操作
2020/04/20 Python
python+adb+monkey实现Rom稳定性测试详解
2020/04/23 Python
为2021年的第一场雪锦上添花:用matplotlib绘制雪花和雪景
2021/01/05 Python
html5 postMessage前端跨域并前端监听的方法示例
2018/11/01 HTML / CSS
如何理解transaction事务的概念
2015/05/27 面试题
初中生个人学习的自我评价
2013/12/04 职场文书
回门宴父母答谢词
2014/01/26 职场文书
小班秋游活动方案
2014/02/22 职场文书
农村改厕实施方案
2014/03/22 职场文书
食品安全责任书
2014/04/15 职场文书
家长会演讲稿
2014/04/26 职场文书
2014年安全生产大检查方案
2014/05/13 职场文书
个人授权委托书范本格式
2014/10/12 职场文书
2015社区精神文明建设工作总结
2015/04/21 职场文书
《鲁班学艺》读后感3篇
2019/11/27 职场文书
IDEA 链接Mysql数据库并执行查询操作的完整代码
2021/05/20 MySQL
OpenCV-Python 实现两张图片自动拼接成全景图
2021/06/11 Python
关于使用Redisson订阅数问题
2022/01/18 Redis