利用vue写todolist单页应用
发布时间 - 2026-01-10 21:49:58 点击率:次网上有很多关于vue的todolist小程序。大多是利用vue-cli脚手架工具开发的,这个官网的文档也不支持新手从单文件开始学习。所以用大家熟悉的开发方式写了这个todolist,希望和大家一起学习。

1、vue是啥?
Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的 渐进式框架。简单说是一个模板引擎,做过后端的应该很清楚,以前靠服务器端渲染的dom,放在浏览器端端渲染,vue拿到数据渲染成dom.当然vue不仅仅是用来干这个的,数据驱动,数据双向绑定,赋予了用户很好的体验,以及快速的开发,应用的项目的益于维护等。。
2、下面开始代码吧,提前引入vue.js,以及bootstrap。由于没采用vue单文件开发。所以只有一个html文件.
3、为了方便你可以使用cdn来引入你需要的文件。demo使用了localstorage来存放数据。所以你必须开启web端口来浏览。未了方便你可以使用webstorm来开发。否则你直接打开静态页是不能存取数据的。当然这些数据你可以换成从数据库来处理
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>vue版todolist</title>
<link rel="stylesheet" href="http://cdn.bootcss.com/bootstrap/3.3.0/css/bootstrap.min.css">
<script src="src/vue.js"></script>
</head>
<style>
.isFinish {
background-color: #d58512 !important;
}
.itemcount {
display: block;
width: 20px;
height: 20px;
text-align: center;
line-height: 20px;
border-radius: 10px;
float: left;
background-color: #d9edf7;
}
</style>
<body>
<div class="container text-center" id="app">
<h2>{{title}}</h2>
<div class="row">
<div class="col-md-7">
<form class="form-horizontal" role="form">
<div class="form-group">
<label for="toitem">添加任务事项</label>
<input class="form-control" type="text" id="toitem" v-model="newitem" @keyup.enter="addItem()">
</div>
<!-- <div class="form-group text-left">
<button class="btn btn-primary btn-sm">确认添加</button>
</div>-->
<div class="list-group text-left form-group" style="margin-top: 2em;">
<a href="#" class="list-group-item active text-left">
任务清单:
</a>
<a href="#" v-for="item in items" class="list-group-item" v-on:click="toogleFinsih(item)">
<span class="itemcount">{{item.id}}</span>
{{item.lable}}
<span class="badge" v-bind:class="{isFinish:item.isFinish}">√</span>
</a>
</div>
</form>
</div>
<div class="col-md-5">
<div class="panel panel-default">
<div class="panel-heading">任务计划:</div>
<div class="panel-body">
请在一周内完成这些计划!
</div>
<div class="panel-footer text-right">
<button class="btn btn-info btn-sm" @click="clearItem">清空任务计划</button>
</div>
</div>
</div>
</div>
</div>
<script>
//该网站的localStorage的键值,用于存放数据
var todoList = 'todolist';
//对localStorage的封装
var lsp = (function () {
return ({
add: function (dataval) {
//添加数据,键为todolist
localStorage.setItem(todoList, JSON.stringify(dataval));
},
get: function () {
//读取键为todolist的数据
return JSON.parse(localStorage.getItem(todoList));
},
remove: function () {
//移除该站点下键为todolist的数据
localStorage.removeItem(todoList);
},
clear: function () {
//清空该站点下的所有localStorage的数据
localStorage.clear();
}
});
})();
var app = new Vue({
el: '#app',
data: {
title: '任务清单demo',
items: lsp.get() || [],//读取数据。如果没有数据赋值为数组[]
newitem: '' //要添加的数据
},
methods: {
addItem: function () {
var that = this;
this.items.push({
id: that.items.length + 1,
lable: that.newitem,
isFinish: false
});
lsp.add(this.items);
this.newitem = '';
},
toogleFinsih: function (item) {
item.isFinish = !item.isFinish;
},
clearItem: function () {
this.items = [];
}
}
})
</script>
</body>
</html>
github:demo
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# vue
# todolist
# 单页应用
# Vue中父子组件通讯之todolist组件功能开发
# Vue从TodoList中学父子组件通信
# 详解Vue的computed(计算属性)使用实例之TodoList
# vue实现ToDoList简单实例
# vue组件编写之todolist组件实例详解
# vue2的todolist入门小项目的详细解析
# 使用Vue完成一个简单的todolist的方法
# Vue.js实现简单ToDoList 前期准备(一)
# vue实现留言板todolist功能
# 使用Vue父子组件通信实现todolist的功能示例代码
# 你可以
# 清空
# 也不
# 很好
# 放在
# 有很多
# 请在
# 如果没有
# 做过
# 写了
# 只有一个
# 很清楚
# 大家一起
# 你必须
# 端端
# 类似于
# 绑定
# 官网
# 值为
# 大家多多
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程
Laravel如何处理表单验证?(Requests代码示例)
利用python获取某年中每个月的第一天和最后一天
Laravel观察者模式如何使用_Laravel Model Observer配置
Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】
Laravel怎么进行数据库回滚_Laravel Migration数据库版本控制与回滚操作
夸克浏览器网页跳转延迟怎么办 夸克浏览器跳转优化
jQuery validate插件功能与用法详解
Laravel怎么在Blade中安全地输出原始HTML内容
Laravel如何为API生成Swagger或OpenAPI文档
Laravel事件监听器怎么写_Laravel Event和Listener使用教程
猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?
MySQL查询结果复制到新表的方法(更新、插入)
Laravel如何连接多个数据库_Laravel多数据库连接配置与切换教程
韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南
Laravel怎么创建控制器Controller_Laravel路由绑定与控制器逻辑编写【指南】
使用spring连接及操作mongodb3.0实例
如何用好域名打造高点击率的自主建站?
企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?
如何在阿里云部署织梦网站?
Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧
如何用ChatGPT准备面试 模拟面试问答与职场话术练习教程
微信公众帐号开发教程之图文消息全攻略
原生JS获取元素集合的子元素宽度实例
如何确保西部建站助手FTP传输的安全性?
WordPress 子目录安装中正确处理脚本路径的完整指南
如何构建满足综合性能需求的优质建站方案?
php静态变量怎么调试_php静态变量作用域调试技巧【解答】
如何快速生成凡客建站的专业级图册?
Laravel如何配置Horizon来管理队列?(安装和使用)
Internet Explorer官网直接进入 IE浏览器在线体验版网址
大连网站制作公司哪家好一点,大连买房网站哪个好?
动图在线制作网站有哪些,滑动动图图集怎么做?
Laravel如何使用Vite进行前端资源打包?(配置示例)
什么是JavaScript解构赋值_解构赋值有哪些实用技巧
Laravel如何实现多级无限分类_Laravel递归模型关联与树状数据输出【方法】
EditPlus 正则表达式 实战(3)
什么是javascript作用域_全局和局部作用域有什么区别?
Laravel如何使用Laravel Vite编译前端_Laravel10以上版本前端静态资源管理【教程】
如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框
ChatGPT怎么生成Excel公式_ChatGPT公式生成方法【指南】
Laravel Pest测试框架怎么用_从PHPUnit转向Pest的Laravel测试教程
如何用IIS7快速搭建并优化网站站点?
HTML5空格和margin有啥区别_空格与外边距的使用场景【说明】
Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案
php读取心率传感器数据怎么弄_php获取max30100的心率值【指南】
如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?
北京的网站制作公司有哪些,哪个视频网站最好?
Laravel怎么做缓存_Laravel Cache系统提升应用速度的策略与技巧
如何安全更换建站之星模板并保留数据?

