watch异步操作
异步操作:
1.ajax,
2.定时器
3.点击事件
4.数据库操作
特点:代码不等待,后续代码会继续执行。
watch:{
//watch作用监测已经存在的数据 newVal 新值,oldVal 旧值
searchName(newVal,oldVal){
axios.get("http://localhost:3001/brands?name_like="+newVal).then((res) => {
const { status, data } = res;
if (status === 200) {
this.list = data;
}
});
}
},
======================全部代码-如果不是异步操作数据库也可以通过集合中的filter进行过滤搜索=====================================
<template>
<div id="HelloWorld">
<div class="add">
品牌名称:
<input type="text" v-model="itemName" />
<input type="button" @click="addItem" value="添加" />
</div>
<div class="add">
品牌名称:
<input type="text" placeholder="请输入搜索条件" v-model="searchName" /> <table class="tb">
<tr>
<th>编号</th>
<th>品牌名称</th>
<th>创立时间</th>
<th>操作</th>
</tr>
<tr v-for="(v, i) in list">
<td>{{ v.id }}</td>
<td>{{ v.name }}</td>
<td>{{ v.date | timeFormat }}</td>
<td><a href="#" @click.prevent="deleItem(v.id)">删除</a></td>
</tr> <tr>
<td v-if="list.length === 0" colspan="4">没有品牌数据</td>
</tr>
</table>
</div>
</div>
</template> <script>
// var list=[{
// name:"TCL",
// date:new Date()
// },
// {
// name:"娃娃",
// date:new Date()
// },{
// name:"cc",
// date:new Date()
// }
// ]
// var list=[]
import axios from "axios"; export default {
name: "HelloWorld", data() {
return { list: [],
itemName: "",
searchName: "",
};
},
mounted() {
this.getAllBrands();
},
methods: {
//获取数据
getAllBrands() {
axios.get("http://localhost:3001/brands").then((res) => {
const { status, data } = res;
if (status === 200) {
this.list = data;
}
});
},
addItem() {
axios
.post("http://localhost:3001/brands", {
name: this.itemName,
date: new Date(),
})
.then((res) => {
const { status, data } = res;
if (status === 201) {
this.getAllBrands();
this.itemName='';
}
});
}, //删除
deleItem(index) {
if (confirm("是否要删除数据?")) {
//this.list.splice(index,1);
axios.delete("http://localhost:3001/brands/" + index).then((res) => {
const { status, data } = res;
if (status === 200) {
this.getAllBrands();
}
});
}
},
},
watch:{
//watch作用监测已经存在的数据 newVal 新值,oldVal 旧值
searchName(newVal,oldVal){
axios.get("http://localhost:3001/brands?name_like="+newVal).then((res) => {
const { status, data } = res;
if (status === 200) {
this.list = data;
}
});
}
},
computed: {
//过滤,从页面过滤或者从数据库返回结果{{如果不改查询结果的集合是可以查询到模糊查询的数据的。}},异步操作的结果 // fileterList() {
// let { searchName, list } = this;
// let arr = [...list];
// if (searchName.trim()) {
// arr = list.filter((p) => p.name.indexOf(searchName) !== -1);
// }
// return arr;
// },
},
};
</script> <!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
#HelloWorld {
width: 600px;
margin: 10px auto;
}
.tb {
border-collapse: collapse;
width: 100%;
}
.tb th {
background-color: #0094ff;
color: white;
}
.tb td,
.tb th {
padding: 5px;
border: 1px solid black;
text-align: center;
}
.add {
padding: 5px;
border: 1px solid black;
margin-bottom: 10px;
}
</style>
watch异步操作的更多相关文章
- C#执行异步操作的几种方式比较和总结
C#执行异步操作的几种方式比较和总结 0x00 引言 之前写程序的时候在遇到一些比较花时间的操作例如HTTP请求时,总是会new一个Thread处理.对XxxxxAsync()之类的方法也没去了解过, ...
- [C#] 走进异步编程的世界 - 在 GUI 中执行异步操作
走进异步编程的世界 - 在 GUI 中执行异步操作 [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5877042.html 序 这是继<开始接 ...
- 【C#进阶系列】27 I/O限制的异步操作
上一章讲到了用线程池,任务,并行类的函数,PLINQ等各种方式进行基于线程池的计算限制异步操作. 而本章讲的是如何异步执行I/O限制操作,允许将任务交给硬件设备来处理,期间完全不占用线程和CPU资源. ...
- C#客户端的异步操作
上篇博客[用Asp.net写自己的服务框架] 我讲述了如何实现自己的服务框架,但我想很多人应该用过WebService这类服务框架,相比起来,似乎还缺少什么东西, 是的,我也感觉到了.比如:我可以很容 ...
- C# 异步操作 async await
在编程的过程中,我们会遇到很多需要异步操作的场景.比如要下载一个文件,如果使用同步的方式进行下载,那么UI操作就会被卡住,这时最好能够使用异步的方式进行下载.在C#中,很早就开始支持异步的操作了,只不 ...
- 【C#进阶系列】26 计算限制的异步操作
什么是计算限制的异步操作,当线程在要使用CPU进行计算的时候,那么就叫计算限制. 而对应的IO限制就是线程交给IO设备(键鼠,网络,文件等). 第25章线程基础讲了用专用的线程进行计算限制的操作,但是 ...
- uart启示2_异步操作的bug
发现代码中的隐藏bug真的是一件令人振奋的事情,当然也会疲倦那么一下午! 这个bug只有在一种在一个2604计数周期的一种情况下发生,所以即使是大量的仿真,未必也会发现的了,只有在以后的设计过程中,遇 ...
- C#与Swift异步操作的差异
作为一个从C#转到Swift的小菜鸡...最近做一个简单的请求API解析Json数据的小程序上碰到一堆小问题.尤其是在异步请求的时候,用惯了C#的async/await写法,在写Swift的时候也按着 ...
- Android开发学习之路-使用AsyncTask进行异步操作
通常情况下,我们要实现异步操作,也就是在子线程进行耗时操作比如下载或者加载图片等,然后在UI(主)线程中更新UI,使用的是Handler和Message来进行异步的实现,但是,谷歌官方在Android ...
- 异步委托(APM)使用Func异步操作,处理耗时操作
使用委托进行异步操作,处理一些耗时操作,防止主线程阻塞 使用例子: using System; using System.Collections.Generic; using System.Linq; ...
随机推荐
- 洛谷4400 BlueMary的旅行(分层图+最大流)
qwq 首先,我们观察到题目中提到的每天只能乘坐一次航班的限制,很容易想到建分层图,也就是通过枚举天数,然后每天加入一层新的点. (然而我一开始想的却是erf) 考虑从小到大枚举天数,然后每次新建一层 ...
- CountBoard 是一个基于Tkinter简单的,开源的桌面日程倒计时应用
CountBoard 是一个基于Tkinter简单的,开源的桌面日程倒计时应用. 项目地址 https://github.com/Gaoyongxian666/CountBoard 基本功能 置顶功能 ...
- Java多线程编程实战指南 核心篇 读书笔记
锁 volatile CAS final static 原子性保障 具备 具备 具备 不涉及 不涉及 可见性保障 具备 具备 不具备 不具备 具备① 有序性保证 具备 具备 不涉及 具备 具备② 上下 ...
- MyBatis 中实现SQL语句中in的操作 (11)
MyBatis 中实现SQL语句中in的操作 概括:应用myBatis实现SQL查询中IN的操作 1.数据库结构及其数据 2.mapper.xml文件 <?xml version="1 ...
- 使用ShardingSphere-JDBC完成Mysql的分库分表和读写分离
1. 概述 老话说的好:选择比努力更重要,如果选错了道路,就很难成功. 言归正传,之前我们聊了使用 MyCat 实现Mysql的分库分表和读写分离,MyCat是服务端的代理,使用MyCat的好处显而易 ...
- (课内)信安数基RSA-基础&&解密加速
RSA基本实现 首先获得N比特的伪随机数:使用Random库中内容. randint(n,m) 表示生成一个在n和m之间的随机数, **表示乘幂. getPrime找素数,or 1运算是一种优化:如果 ...
- 第五次Scrum Metting
日期:2021年5月2日 会议主要内容概述:讨论前端进度,修改后端接口. 一.进度情况 组员 负责 两日内已完成的工作 后两日计划完成的工作 工作中遇到的困难 徐宇龙 后端 模板模块的实现及批量插入更 ...
- AIApe问答机器人Scrum Meeting 5.5&5.6
Scrum Meeting 7 日期:2021年5月5日&2021年5月6日 会议主要内容概述:汇报近日工作,确定下一步计划,放弃"关键词提取"和"改进关键词&q ...
- poi实现生成下拉选联动
在我们实际的程序开发中,经常需要用到从excel导入数据中系统中,而为了防止用户在excel中乱输入文字,有些需要用到下拉选的地方,就需要从程序中动态生成模板.本例子简单的讲解一下,如何生成级联下拉选 ...
- [luogu2973]driving out the piggies 驱逐猪猡【高斯消元+概率DP】
看到题面的那一刻,我是绝望的ORZ 图论加概率期望加好像不沾边的高斯消元???我人直接傻掉 还没学过概率期望的我果断向题解屈服了(然后还是傻掉了两节课来找线性方程.. Description 奶牛们建 ...