vue删除数据库数据(vue删除列表数据并且页面不刷新)

今天给各位分享vue删除数据库数据的知识,其中也会对vue删除列表数据并且页面不刷新进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

vue与数据库连接是哪个接口

template3。vue与数据库连接引用的是template3接口。vue是一套用于构建用户界面的渐进式框架(根据需求使用特定的功能)。数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以对数据库中的数据进行增加,修改,删除及查询操作。

vue删除数据库数据(vue删除列表数据并且页面不刷新),vue删除数据库数据,信息,第1张

vue3操作sqlite

vue作为前端,如直接操作sqlite,风险挺大的,比如sql注入,导致数据库炸掉,最终导致你的程序不可用最好操作sqlite交给后端去做,后端可以针对前端用户的操作进行过滤,从而降低风险,也让你的程序更加健壮。

vueflushcallbacks涉及哪些数据

数据库用的MongoDB,发送的_id 为underfind

后端代码

DBOption.prototype.modifyDB = function(modifyData, dbName, DBROOT="astrondb", callBack) {

MongoClient.connect(url, { useNewUrlParser: true }, function(err, db) {

if (err) throw err;

if(!modifyData) return false;

const dbRoot = db.db(DBROOT);

const objectId_id = objectId(modifyData._id);

param = {_id: objectId_id};

dbRoot.collection(dbName).updateOne(param, { $set: modifyData.content }, function(err, res) {

if (err) {throw err};

callBack(`${res}`)

});

})

}

前端代码

handleUpData() {

const obj = this.inputBox;

// 更新前的校验

for(const item in obj) {

const i = obj[item]

if(i==="" || i===" ") {

this.$message({

type: 'error',

message: `请完整输入 ${item}`

});

return false;

}

if(item==="sort"window.isNaN(i-1)) {

this.$message({

type: 'error',

message: `${item} 不是数字`

});

return false;

}

}

this.loading = true;

const this_ = this;

const cb = function cb() {

this_.loading = false;

}

// 这个值到发送的时候就没了。。。

let idSave2;

this.whichStar._id(idSave2 = this.whichStar._id)

let content = obj;

// id是空的话更新没有用的

if(!content['_id']) {

this.$message({

type: 'error',

message: `id 是空,这可能是个BUG`

});

this.loading = false;

return false;

}

// 总之是要删除 `_id` 这个属性

for(const con in content){

delete content['_id'];

}

// 一开始是用this.whichStar._id存id 但是更新第二次就是underfind

console.log("-=-=-=-=-",this.whichStar._id, content)

stars_modify({_id: reqID, content }, cb);

this.star_find_fun();

this.whichStar = obj;

idSave(this.whichStar._id=idSave);

console.log("idSave",idSave)

}

debugger 后发现是 flushCallbacks 函数刷新(清空)了_id

debugger 发现和更新的这段代码没有关系

数据是在invokeWithErrorHandling 中消失了

继续 debugger 问题出现在了flushCallbacks

用暂存值的方法简单粗暴的暂时修改了这个问题

handleUpData() {

const obj = this.inputBox;

// 更新前的校验

for(const item in obj) {

const i = obj[item]

if(i==="" || i===" ") {

this.$message({

type: 'error',

message: `请完整输入 ${item}`

});

return false;

}

if(item==="sort"window.isNaN(i-1)) {

this.$message({

type: 'error',

message: `${item} 不是数字`

});

return false;

}

}

this.loading = true;

const this_ = this;

const cb = function cb() {

this_.loading = false;

}

let idSave;

if(obj._id) {

idSave = obj._id;

}

console.log("====",obj)

// 这个值到发送的时候就没了。。。

let idSave2;

this.whichStar._id(idSave2 = this.whichStar._id)

let content = obj;

// id是空的话更新没有用的

if(!content['_id']) {

this.$message({

type: 'error',

message: `id 是空,这可能是个BUG`

});

this.loading = false;

return false;

}

// 总之是要删除 `_id` 这个属性

for(const con in content){

delete content['_id'];

}

const reqID = this.whichStar._id ? this.whichStar._id : idSave2

console.log("-=-=-=-=-",reqID, content)

stars_modify({_id: reqID, content }, cb);

this.star_find_fun();

this.whichStar = obj;

idSave(this.whichStar._id=idSave);

console.log("idSave",idSave)

}

认识

flushCallbacks 用来清空回调队列和依次执行回调。

function flushCallbacks () {

pending = false

const copies = callbacks.slice(0)

callbacks.length = 0

for (let i = 0; i copies.length; i++) {

copies[i]()

}

}

在 Vue.js 里是数据驱动视图变化,由于 JS 执行是单线程的,在一个 tick 的过程中,它可能会多次修改数据,但 Vue.js 并不会傻到每修改一次数据就去驱动一次视图变化,它会把这些数据的修改全部 push 到一个队列里,然后内部调用 一次 nextTick 去更新视图,所以数据到 DOM 视图的变化是需要在下一个 tick 才能完成。

vue项目权限管理

首先,权限管理 般需求是两个: 权限和按钮权限。

前端 案会把所有路由信息在前端配置,通过路由守卫要求 户登录, 户登录后根据 过滤出路由表。 如我会配置 个 asyncRoutes 数组,需要认证的 在其路由的 meta 中添加 个 roles 字段,等获取 户 之后取两者的交集,若结果不为空则说明可以访问。此过滤过程结束,剩下的路由就是该 户能访问的 ,最后通过 router.addRoutes(accessRoutes) 式动态添加路由即可。

后端 案会把所有 路由信息存在数据库中, 户登录的时候根据其 查询得到其能访问的所有 路由信息返回给前端,前端再通过 addRoutes 动态添加路由信息。

按钮权限的控制通常会实现 个指令,例如 v-permission ,将按钮要求 通过值传给v-permission指令,在指令的 moutned 钩 中可以判断当前 户 和按钮是否存在交集,有则保留按钮, 则移除按钮。

路由守卫 permission.js :

路由 成## permission.js :

动态追加路由## permission.js :

服务端返回的路由信息如何添加到路由器中?

vue删除表格中的一条数据会影响到前面已经定到数据吗

不会。在vue中,点击删除按钮发送请求删除了表格中的一行记录,这时候数据库中已经删除了,但是页面还没更新,所以需要常常发送请求重新获取表单数据,vue删除表格中的一条数据不会影响到前面已经定到数据。vue是一个用于创建用户界面的开源JavaScript框架,也是一个创建单页应用的Web应用框架。

vue删除数据库数据的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于vue删除列表数据并且页面不刷新、vue删除数据库数据的信息别忘了在本站进行查找喔。

1、本网站名称:源码村资源网
2、本站永久网址:https://www.yuanmacun.com
3、本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
4、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
6、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
源码村资源网 » vue删除数据库数据(vue删除列表数据并且页面不刷新)

1 评论

您需要 登录账户 后才能发表评论

发表评论

欢迎 访客 发表评论