使用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 相关文章推荐
Use Word to Search for Files
Jun 15 Javascript
JavaScript操作Cookie详解
Feb 28 Javascript
js实现鼠标滑过文字链接色彩变化的效果
May 06 Javascript
基于JavaScript实现单选框下拉菜单添加文件效果
Jun 26 Javascript
javascript函数中的3个高级技巧
Sep 22 Javascript
js+css3制作时钟特效
Oct 16 Javascript
一个炫酷的Bootstrap导航菜单
Dec 28 Javascript
Angular4 中内置指令的基本用法
Jul 31 Javascript
JavaScript实现各种排序的代码详解
Aug 28 Javascript
理解 JavaScript EventEmitter
Mar 29 Javascript
webpack4的迁移的使用方法
May 25 Javascript
对vue生命周期的深入理解
Dec 03 Vue.js
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
PHP 获取目录下的图片并随机显示的代码
2009/12/28 PHP
有关JSON以及JSON在PHP中的应用
2010/04/09 PHP
PHP中操作ini配置文件的方法
2013/04/25 PHP
PHP Error与Logging函数的深入理解
2013/06/03 PHP
php取整函数ceil,floo,round的用法及介绍
2013/08/31 PHP
php实例分享之mysql数据备份
2014/05/19 PHP
CI(CodeIgniter)框架介绍
2014/06/09 PHP
PHP在线书签系统分享
2016/01/04 PHP
Laravel5中防止XSS跨站攻击的方法
2016/10/10 PHP
PHP机器学习库php-ml的简单测试和使用方法
2017/07/14 PHP
PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法
2017/11/10 PHP
ExtJS PropertyGrid中使用Combobox选择值问题
2010/06/13 Javascript
JS根据生日算年龄的方法
2015/05/05 Javascript
jquery悬浮提示框完整实例
2016/01/13 Javascript
js 获取经纬度的实现方法
2016/06/20 Javascript
js获取上传文件的绝对路径实现方法
2016/08/02 Javascript
Ajax高级笔记 JavaScript高级程序设计笔记
2017/06/22 Javascript
基于Vuex无法观察到值变化的解决方法
2018/03/01 Javascript
vue使用vant中的checkbox实现全选功能
2020/11/17 Vue.js
[01:53]3.19 DOTA2发布会 现场精彩Coser表演
2014/03/25 DOTA
python中enumerate的用法实例解析
2014/08/18 Python
django批量导入xml数据
2016/10/16 Python
Python实现读取SQLServer数据并插入到MongoDB数据库的方法示例
2018/06/09 Python
python实时监控cpu小工具
2018/06/21 Python
详解如何在Apache中运行Python WSGI应用
2019/01/02 Python
python 利用已有Ner模型进行数据清洗合并代码
2019/12/24 Python
Python实现名片管理系统
2020/02/14 Python
Python 微信公众号文章爬取的示例代码
2020/11/30 Python
Python性能测试工具Locust安装及使用
2020/12/01 Python
谈谈对css属性box-sizing的了解
2017/01/04 HTML / CSS
存储过程和函数的区别
2013/05/28 面试题
让生命充满爱演讲稿
2014/05/10 职场文书
学校政风行风整改方案
2014/10/25 职场文书
2014年办公室个人工作总结
2014/11/12 职场文书
医生个人年度总结
2015/02/28 职场文书
Python sklearn分类决策树方法详解
2022/09/23 Python