异步操作:

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异步操作的更多相关文章

  1. C#执行异步操作的几种方式比较和总结

    C#执行异步操作的几种方式比较和总结 0x00 引言 之前写程序的时候在遇到一些比较花时间的操作例如HTTP请求时,总是会new一个Thread处理.对XxxxxAsync()之类的方法也没去了解过, ...

  2. [C#] 走进异步编程的世界 - 在 GUI 中执行异步操作

    走进异步编程的世界 - 在 GUI 中执行异步操作 [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5877042.html 序 这是继<开始接 ...

  3. 【C#进阶系列】27 I/O限制的异步操作

    上一章讲到了用线程池,任务,并行类的函数,PLINQ等各种方式进行基于线程池的计算限制异步操作. 而本章讲的是如何异步执行I/O限制操作,允许将任务交给硬件设备来处理,期间完全不占用线程和CPU资源. ...

  4. C#客户端的异步操作

    上篇博客[用Asp.net写自己的服务框架] 我讲述了如何实现自己的服务框架,但我想很多人应该用过WebService这类服务框架,相比起来,似乎还缺少什么东西, 是的,我也感觉到了.比如:我可以很容 ...

  5. C# 异步操作 async await

    在编程的过程中,我们会遇到很多需要异步操作的场景.比如要下载一个文件,如果使用同步的方式进行下载,那么UI操作就会被卡住,这时最好能够使用异步的方式进行下载.在C#中,很早就开始支持异步的操作了,只不 ...

  6. 【C#进阶系列】26 计算限制的异步操作

    什么是计算限制的异步操作,当线程在要使用CPU进行计算的时候,那么就叫计算限制. 而对应的IO限制就是线程交给IO设备(键鼠,网络,文件等). 第25章线程基础讲了用专用的线程进行计算限制的操作,但是 ...

  7. uart启示2_异步操作的bug

    发现代码中的隐藏bug真的是一件令人振奋的事情,当然也会疲倦那么一下午! 这个bug只有在一种在一个2604计数周期的一种情况下发生,所以即使是大量的仿真,未必也会发现的了,只有在以后的设计过程中,遇 ...

  8. C#与Swift异步操作的差异

    作为一个从C#转到Swift的小菜鸡...最近做一个简单的请求API解析Json数据的小程序上碰到一堆小问题.尤其是在异步请求的时候,用惯了C#的async/await写法,在写Swift的时候也按着 ...

  9. Android开发学习之路-使用AsyncTask进行异步操作

    通常情况下,我们要实现异步操作,也就是在子线程进行耗时操作比如下载或者加载图片等,然后在UI(主)线程中更新UI,使用的是Handler和Message来进行异步的实现,但是,谷歌官方在Android ...

  10. 异步委托(APM)使用Func异步操作,处理耗时操作

    使用委托进行异步操作,处理一些耗时操作,防止主线程阻塞 使用例子: using System; using System.Collections.Generic; using System.Linq; ...

随机推荐

  1. SpringBoot入门04-组件扫描ComponetScan

    被扫描的包下面的类如果被下面注解,则被创建加入到IOC中去 @Component:没有明确的角色 @Service:业务层角色 @Repository:持久层角色 @Controller:控制层角色 ...

  2. vue 解决axios请求出现前端跨域问题

    vue 解决axios请求出现前端跨域问题 最近在写纯前端的vue项目的时候,碰到了axios请求本机的资源的时候,出现了访问报404的问题.这就让我很难受.查询了资料原来是跨域的问题. 在正常开发中 ...

  3. 如何再一台电脑上配置多个tomcat同时运行

    1.配置运行tomcat 首先要配置java的jdk环境,这个就不在谢了  不懂去网上查查,这里主要介绍再jdk环境没配置好的情况下 如何配置运行多个tomcat 2.第一个tomcat: 找到&qu ...

  4. UltraSoft Scrum Meeting 博客汇总

    一.Alpha阶段 UltraSoft - Alpha - Scrum Meeting 1 UltraSoft - Alpha - Scrum Meeting 2 UltraSoft - Alpha ...

  5. BUAA软件工程个人项目作业

    BUAA软件工程个人项目作业 项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 个人项目作业 我在这个课程的目标是 学习软件开发的流程 这个作业在哪 ...

  6. OO_JAVA_电梯运行模拟_单元总结

    电梯运行模拟--三次作业总结 目录 电梯运行模拟--三次作业总结 总体遵循的设计思路 逻辑解耦 电梯与调度器解耦 楼层信息的存储和变更与电梯.调度器解耦 调度器运行流程解耦 第一次电梯,蠢笨串行先到先 ...

  7. USB OTG原理和 ID 检测原理

    OTG 检测的原理是: USB OTG标准在完全兼容USB2.0标准的基础上,增添了 电源管理(节省功耗)功能,它允许设备既可作为主机,也可作为外设操作(两用OTG).USB OTG技术可实现没有主机 ...

  8. RF射频传输,原理介绍,三分钟看懂!发射功率、接收灵敏度详解!

    射频是什么? 官方说法:RF,Radio Frequency. (不懂的人,看了还是不懂,不过对于物联网行业的开发工程师.产品经理和项目经理,还是有需要对射频有个基础了解的.) 燚智能解读: 两个人, ...

  9. 零基础学习C语言字符串操作总结大全

    本篇文章是对C语言字符串操作进行了详细的总结分析,需要的朋友参考下 1)字符串操作 strcpy(p, p1) 复制字符串 strncpy(p, p1, n) 复制指定长度字符串 strcat(p, ...

  10. 计算机网络之传输层(传输层提供的服务及功能概述、端口、套接字--Socket、无连接UDP和面向连接TCP服务)

    文章转自:https://blog.csdn.net/weixin_43914604/article/details/105451022 学习课程:<2019王道考研计算机网络> 学习目的 ...