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; ...
随机推荐
- 快速入门maven
1.快速介绍 maven(翻译:专家,内行)是apache(一个公司/组织)做的一个项目,或者说是软件,这个东西可以干什么? 可以用它来对咱们做的项目进行改进,增加开发效率,比如帮助你自动导入jar包 ...
- Endian
Endian 寻址 多字节对象被存储为连续的字节序列,对象的地址为所使用字节中最小的地址. 例如,假设一个类型为 int 的变量 a 的地址为 0x100,也就是说,地址表达式 &a 的值为 ...
- 浅尝装饰器--property装饰器
[写在前面] 本帖归属于装饰器单元的学习,可以点击关键词'装饰器'查看其他博文讲解 [正文部分] property属性:将类方法用类属性的形式进行调用 class Good: def __init__ ...
- python json中的 dumps loads函数
一.概念理解 1.json.dumps()和json.loads()是json格式处理函数(可以这么理解,json是字符串) (1)json.dumps()函数是将一个Python数据类型列表进行js ...
- XSS_Labs靶场通关
XSS-labs靶场(1-20) 开始通关! 0x01 (直接漏洞注入) 反射型xss注入 1.遇到?name=text,尝试参数注入 注入语句: <script>alert('xss ...
- The WebSocket session [0] has been closed and no method (apart from close()) may be called on a closed session-ConcurrentHashMap使用在webSocket中采的坑
一.问题由来 现在开发的一个项目中使用webSocket这个技术和Unity客户端程序进行联动操作,因为socket连接相对来说比http请求连接更加的快速,而且是 一个长链接,方便于这个项目进行其他 ...
- 洛谷 P4555 [国家集训队]最长双回文串
链接: P4555 题意: 在字符串 \(S\) 中找出两个相邻非空回文串,并使它们长度之和最大. 分析: 直接使用马拉车算法求出每个点扩展的回文串.如果枚举两个回文串显然会超时,我们考虑切割一个长串 ...
- uvm_subscriber
subscriber是消费,用户的意思 uvm_subscriber主要作为coverage的收集方式之一 uvm_subscriber的代码非常简单,继承于uvm_component,再加上一个an ...
- Python Numpy matplotlib Histograms 直方图
import numpy as np import matplotlib.pyplot as plt mu,sigma = 2,0.5 v = np.random.normal(mu,sigma,10 ...
- Luogu P2149 [SDOI2009]Elaxia的路线 | 图论
题目链接 题解: 题面中给了最简洁清晰的题目描述:"求无向图中,两对点间最短路的最长公共路径". 对于这个问题我们可以先考虑图中的哪些边对这两对点的最短路产生了贡献. 比如说下面这 ...