使用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 相关文章推荐
利用jquery操作select下拉列表框的代码
Jun 04 Javascript
微博@符号的用户名提示效果。(想@到谁?)
Nov 05 Javascript
node在两个div之间移动,用ztree实现
Mar 06 Javascript
实例说明为什么不要行内使用javascript
Apr 18 Javascript
Node.js 去掉种子(torrent)文件里的邪恶信息
Mar 27 Javascript
js自定义回调函数
Dec 13 Javascript
JavaScript基于原型链的继承
Jun 22 Javascript
详解使用Vue Router导航钩子与Vuex来实现后退状态保存
Sep 11 Javascript
详解Vue.directive 自定义指令
Mar 27 Javascript
JS实现求字符串中出现最多次数的字符和次数示例
Jul 05 Javascript
原生js实现五子棋游戏
May 28 Javascript
JS实现简单的九宫格抽奖
Jun 28 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
杏林同学录(五)
2006/10/09 PHP
php去除重复字的实现代码
2011/09/16 PHP
PHP多维数组指定多字段排序的示例代码
2018/05/16 PHP
YII2框架中ActiveDataProvider与GridView的配合使用操作示例
2020/03/18 PHP
TP5框架实现签到功能的方法分析
2020/04/05 PHP
强大的jquery插件jqeuryUI做网页对话框效果!简单
2011/04/14 Javascript
in.js 一个轻量级的JavaScript颗粒化模块加载和依赖关系管理解决方案
2011/07/26 Javascript
映彩衣的js随笔(js图片切换效果)
2011/07/31 Javascript
js判断输入是否为数字的具体实例
2013/08/03 Javascript
细说javascript函数从函数的构成开始
2013/08/29 Javascript
Javascript数据结构与算法之列表详解
2015/03/12 Javascript
jQuery控制元素显示、隐藏、切换、滑动的方法总结
2015/04/16 Javascript
jquery实现网站列表切换效果的2种方法
2016/08/12 Javascript
jQuery操作dom实现弹出页面遮罩层(web端和移动端阻止遮罩层的滑动)
2016/08/25 Javascript
jQuery简单实现MD5加密的方法
2017/03/03 Javascript
React Native实现地址挑选器功能
2017/10/24 Javascript
Vue插件打包与发布的方法示例
2018/08/20 Javascript
基于jQuery ztree实现表格风格的树状结构
2018/08/31 jQuery
[47:02]2018DOTA2亚洲邀请赛3月29日 小组赛B组 VP VS paiN
2018/03/30 DOTA
python高并发异步服务器核心库forkcore使用方法
2013/11/26 Python
Python基础教程之正则表达式基本语法以及re模块
2016/03/25 Python
python字典的常用操作方法小结
2016/05/16 Python
Python 3 判断2个字典相同
2019/08/06 Python
python实现时间序列自相关图(acf)、偏自相关图(pacf)教程
2020/06/03 Python
pandas apply使用多列计算生成新的列实现示例
2021/02/24 Python
css3 盒模型以及box-sizing属性全面了解
2016/09/20 HTML / CSS
HTML5实现动画效果的方式汇总
2016/02/29 HTML / CSS
JustFab加拿大:女鞋、靴子、手袋和服装在线
2018/05/18 全球购物
Yahoo-PHP面试题4
2012/05/05 面试题
Web Service面试题:如何搭建Axis2的开发环境
2012/06/20 面试题
"序列点" 是什么
2016/07/29 面试题
叙述DBMS对数据控制功能有哪些
2016/06/12 面试题
师范毕业生自我鉴定
2014/01/15 职场文书
小学安全汇报材料
2014/08/14 职场文书
创先争优活动心得体会
2014/09/04 职场文书
儿童诗两首教学反思
2016/02/23 职场文书