使用Vue做一个简单的todo应用的三种方式的示例代码


Posted in Javascript onOctober 20, 2018

1. 引用vue.js

<!DOCTYPE html>
<html>
<head>
<script src="http://vuejs.org/js/vue.js"></script>
 <meta charset="utf-8">
 <title>JS Bin</title>
</head>
<body>
 <div id="root">
  <input type="text" v-model="inputValue">
  <button @click="handlerAdd">提交</button>
  <ul>
   <li 
     v-for="(item,index) of lists" 
     :key="index" 
     @click="handlerDel(index)"
    >
    {{item}}
   </li>
  </ul>
 </div>
 
 <script>
  new Vue({
   el: '#root',
   data: {
    inputValue: '',
    lists: []
   },
   methods: {
    handlerAdd: function() {
     this.lists.push(this.inputValue);
     this.inputValue = '';
    },
    handlerDel: function(index) {
     this.lists.splice(index, 1);
    }
   }
  });
 </script>
</body>
</html>

2. 全局组件注册

<!DOCTYPE html>
<html>
<head>
<script src="http://vuejs.org/js/vue.js"></script>
 <meta charset="utf-8">
 <title>JS Bin</title>
</head>
<body>
 <div id="root">
  <input type="text" v-model="inputValue">
  <button @click="handlerAdd">提交</button>
  <ul>
   <todo-item
    v-for="(item,index) of lists"
    :content = "item"
    :index = "index"
    :key = "index"
    @delete="handlerDel"
   >
   </todo-item>
  </ul>
 </div>
 
 <script>
  Vue.component('todoItem', {
   props: {
    content: String,
    index: Number
   },
   template: '<li @click="handlerClick">{{content}}</li>',
   methods: {
    handlerClick: function(){
     this.$emit('delete', this.index);
    }
   }

  });

  new Vue({
   el: '#root',
   data: {
    inputValue: '' ,
    lists: []
   },
   methods: {
    handlerAdd: function() {
     this.lists.push(this.inputValue);
     this.inputValue = '';
    },
    handlerDel: function(index) {
     this.lists.splice(index,1);
    }
   }
  });
 </script>
</body>
</html>

3. vue-cli脚手架

// Todo.Vue

<template>
 <div>
  <input type="text" v-model="inputValue">
  <button @click="handlerAdd">提交</button>
  <ul>
   <todo-item
    v-for="(item,index) of lists"
    :key="index"
    :content="item"
    :index="index"
    @delete="handlerDel"
   ></todo-item>
  </ul>
 </div>
</template>

<script>
import TodoItem from './components/todoItem'

export default {
 data () {
  return {
   inputValue: '',
   lists: []
  }
 },
 methods: {
  handlerAdd () {
   this.lists.push(this.inputValue)
   this.inputValue = ''
  },
  handlerDel (index) {
   this.lists.splice(index, 1)
  }
 },
 components: {
  'todo-item': TodoItem
 }
}
</script>

<style>

</style>
// TodoItem.vue

<template>
 <li @click="handlerClick" class="item">{{content}}</li>
</template>

<script>
export default {
 props: ['content', 'index'],
 methods: {
  handlerClick () {
   this.$emit('delete', this.index)
  }
 }
}
</script>

<style scoped>
 ul,li {
  list-style: none;
 }
 .item {
  color: blueviolet;
 }
</style>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js中eval()函数和trim()去掉字符串左右空格应用
Feb 02 Javascript
各种常用的JS函数整理
Oct 25 Javascript
可插入图片的TEXT文本框
Dec 27 Javascript
toggle()隐藏问题的解决方法
Feb 17 Javascript
20条学习javascript的编程规范的建议
Nov 28 Javascript
jQuery中replaceWith()方法用法实例
Dec 25 Javascript
javascript实现英文首字母大写
Apr 23 Javascript
Bootstrap 附加导航(Affix)插件实例详解
Jun 01 Javascript
AngularJs ng-route路由详解及实例代码
Sep 14 Javascript
Node.js的环境安装配置(使用nvm方式)
Oct 11 Javascript
React Native预设占位placeholder的使用
Sep 28 Javascript
深入浅析Vue中mixin和extend的区别和使用场景
Aug 01 Javascript
Iview Table组件中各种组件扩展的使用
Oct 20 #Javascript
详解webpack打包第三方类库的正确姿势
Oct 20 #Javascript
详解ES6 Promise对象then方法链式调用
Oct 20 #Javascript
Intellij IDEA搭建vue-cli项目的方法步骤
Oct 20 #Javascript
分享5个小技巧让你写出更好的 JavaScript 条件语句
Oct 20 #Javascript
angular4 获取wifi列表中文显示乱码问题的解决
Oct 20 #Javascript
vue 项目地址去掉 #的方法
Oct 20 #Javascript
You might like
全国FM电台频率大全 - 14 江西省
2020/03/11 无线电
php入门学习知识点三 PHP上传
2011/07/14 PHP
php版微信自定义回复功能示例
2016/12/05 PHP
Laravel ORM 数据model操作教程
2019/10/21 PHP
JavaScript 实现??打印?理
2007/04/28 Javascript
js单例模式的两种方案
2013/10/22 Javascript
推荐5 个常用的JavaScript调试技巧
2015/01/08 Javascript
jQuery实现鼠标悬停显示提示信息窗口的方法
2015/04/30 Javascript
MVVM模式中ViewModel和View、Model有什么区别?
2015/06/19 Javascript
js实现用户离开页面前提示是否离开此页面的方法(包括浏览器按钮事件)
2015/07/18 Javascript
JavaScript中几种排序算法的简单实现
2015/07/29 Javascript
jQuery动态星级评分效果实现方法
2015/08/06 Javascript
AngularJS中的Directive自定义一个表格
2016/01/25 Javascript
浅析Bootstrap缩略图组件与警示框组件
2016/04/29 Javascript
zepto与jquery的区别及zepto的不同使用8条小结
2016/07/28 Javascript
JavaScript严格模式详解
2017/01/16 Javascript
p5.js临摹动态图形的方法
2019/10/23 Javascript
JS跨浏览器解析XML应用过程详解
2020/10/16 Javascript
python的pdb调试命令的命令整理及实例
2017/07/12 Python
python中子类调用父类函数的方法示例
2017/08/18 Python
详解将Django部署到Centos7全攻略
2018/09/26 Python
给你一面国旗 教你用python画中国国旗
2019/09/24 Python
Python无头爬虫下载文件的实现
2020/04/02 Python
Python如何急速下载第三方库详解
2020/11/02 Python
分享一个H5原生form表单的checkbox特效代码
2018/02/26 HTML / CSS
美国非常受欢迎的Spa品牌:Bliss必列斯
2018/04/10 全球购物
linux面试题参考答案(4)
2013/01/28 面试题
岗位职责定义及内容
2013/11/08 职场文书
小班开学寄语
2014/04/04 职场文书
《月球之谜》教学反思
2014/04/10 职场文书
学习走群众路线心得体会
2014/11/05 职场文书
2014年高校辅导员工作总结
2014/12/09 职场文书
创业计划书之川味火锅店
2019/09/02 职场文书
springboot中的pom文件 project报错问题
2022/01/18 Java/Android
浅析python中特殊文件和特殊函数
2022/02/24 Python
Django框架中视图的用法
2022/06/10 Python