- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在Vue中使用 Electron 。我正在使用nedb保存数据。我将事件从vue组件发送到background.js,当它返回数据时,它将以fibbonaccicaly将数据添加到vuex中。
喜欢
methods:{
// saveTodo method get triggers when user submit the form in modal
saveTodo() {
if (this.isFormValid) {
const newTodo = {
task: this.task,
priority: this.priority,
eventDate: this.eventDate,
createdDate: new Date(),
completedDate: null,
isCompleted: false,
};
// new Todo is an object that contains data that is requested from user
// from a form like task, priority and eventDate
ipcRenderer.send('createNewTodo', newTodo);
ipcRenderer.on('createNewTodoResponse', (e, newDoc) => {
if (typeof newDoc === 'object') {
this.$store.dispatch('createNewTodo', newDoc);
$('#createNewModal').modal('hide');
} else {
$('#createNewModal').modal('hide');
}
});
}
},
}
ipcMain.on('createNewTodo', (e, args) => {
// db.performTask is a function that insert document/record in nedb.
// I've used nedb-promises. In return we'll get promise.
const dbpromise = db.performTask('todos', 'insert', args);
// newDoc is the newly inserted document, including its _id
dbpromise.then((newDoc) => {
e.sender.send('createNewTodoResponse', newDoc);
})
.catch(() => {
e.sender.send('createNewTodoResponse', 'error');
});
});
const state = {
todos: [],
};
const getters = {
getAllTodos(todosState) {
return todosState.todos;
},
};
const mutations = {
CREATE_NEW_TODO(todosState, todo) {
todosState.todos.push(todo);
},
};
const actions = {
createNewTodo({ commit }, todo) {
commit('CREATE_NEW_TODO', todo);
},
};
最佳答案
每次保存待办事项时,都要为IPC回复 channel 注册一个新的监听器。监听器都保持 Activity 状态,每个监听器都选择并处理每个事件。那不是您想要的,您只想处理每个响应一次,而 Electron 有一种处理方法:)尝试以下一种方法:
// register a listener to process the response (once)
ipcRenderer.once('createNewTodoResponse', (e, newDoc) => {
if (typeof newDoc === 'object') {
this.$store.dispatch('createNewTodo', newDoc);
$('#createNewModal').modal('hide');
} else {
$('#createNewModal').modal('hide');
}
});
// send the request
ipcRenderer.send('createNewTodo', newTodo);
关于javascript - 在nedb中添加的记录是单个记录,但是为什么VUE会多次存储相同的记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61997076/
documentation说 If you specify a filename, the database will be persistent, and automatically select
我无法让最简单的 NeDB 示例正常运行。我的代码只在内存中工作,文件持久化一直失败,没有任何错误消息。 loaddatabase 和 insert 事件的错误回调总是传递一个空引用作为错误,所以那里
我得到了一个简单 NeDB 请求的语法。我为 Feathers/NeDB 编写的查询有什么问题? var workFilter = { query: {
我是 nedb 的新手。它有点像 sqlite 对于 sql 社区,但对于 node.js 社区。[ https://github.com/louischatriot/nedb] 我想问一下在一个数据
我正在使用 nedb 我正在尝试通过匹配它的 ID 并更改 title 属性来更新现有记录。发生的情况是创建了一条新记录,而旧记录仍然存在。我尝试了几种组合,并尝试用谷歌搜索它,但搜索结果很少。 va
基本上我写了一个简单的 API,您可以在其中对 nedb 执行 http POST 和 http GET .然而,我的问题是,在发布一个条目(客户)之后,该条目出现在 nedb 文件中,但是当我使用
我知道之前已经回答过这个问题,但出于某种原因,没有一个解决方案对我有帮助。所以我想寻求一些帮助,看看你是否能发现我做错了什么。我有 nedb 运行和一个看起来像这样的 .db 文件(删除了一些属性以使
我在nedb中有以下数据。 ["UserId":"1446943507761","UserName":"xxx","link":"xxx.html","taskDone":"false","id":1
我使用nedb . 如何上传图片? 我正在尝试这段代码。 但是,没有保存的证据。 const Nedb = require('nedb'); const path = require('path');
我想要像关系数据库或目标数据库一样具有精确的自动增量字段,因此我需要一个具有自动设置字段值的整数_id字段,值应该是最后一个记录_id 值如下: 数据: {_id:1,name"foo"} {_id:
事实证明,我在 Electron 中使用的数据库有问题 neDB模块。我遇到的问题是,如果字段以大写字母开头,它不会按字母顺序对值进行排序。 当我尝试按字母顺序对它们进行排序时,它们完全杂乱无章。我已
我在 Nedb 中有以下数据结构: ["UserId":"1446844665274","taskDone":"false","id":12,"_id":"1XURfx5uAZpgbh1i"]
var addNewUser = function (id, chatId) { db.update({ _id: id }, { $push: { users: chatId } }, {}
我正在开发一个客户端应用程序,我想使用浏览器版本的 NeDB。我使用 gulp 运行 browserify 来创建 bundle.js。问题是,当我尝试导入浏览器版本的 NeDB 时,我遇到了有关 n
我到处寻找解决方案,但似乎找不到 我正在尝试查看我的 nedb 数据库中是否存在某一行,如果不存在则插入一些内容,但如果确实存在,那么只需沿着这里移动就是我尝试过的 function newAgent
如何使用 Typescrip 类语法通过 NeDB 获取数据存储? namespace NamespaceName { "use strict"; export class Persistence {
我真的很挣扎,所以我希望有人能帮助我理解为什么我会出现这种行为。 我有一个文件,其中包含以下记录 {"Id":"","documentPath":"mission.pdf","dName":"BIOL
var Datastore = require('nedb') , db = new Datastore({ filename: 'testdb.db', autoload: true });\
在 nedb 中,我在文档中有一个数组字段。我将如何更新任何索引处的数组元素? 例如, { fruits:['mango','apple','banana'] } 我想修改第二个元素并将数组设为
我的 electron.js 应用程序有一个 Nedb 数据库,即使使用 ensureIndex({... unique: true}) 也能生成 _id 副本。单击时,索引值将增加 5 - 而不是使
我是一名优秀的程序员,十分优秀!