小编Aus*_*oss的帖子

使用VueJS更新对象中的多个道具时如何引起反应?

在构建我的应用程序时,我目睹了一些奇怪的行为,其中 dom 的一部分没有对输入做出正确的反应。突变正在注册,状态正在改变,但 DOM 中的 prop 没有。我注意到当我回去时,在 html 中编辑了一个新的空白行,然后回来了,它现在正在显示新的道具。但是我必须编辑,保存,然后返回文档才能看到状态的任何新更改。

所以状态正在更新,但 Vue 没有对变化做出反应。这就是为什么我认为原因:https : //vuejs.org/v2/guide/reactivity.html#For-Objects

Vue 无法检测属性的添加或删除。由于 Vue 在实例初始化期间执行 getter/setter 转换过程,因此数据对象中必须存在一个属性,以便 Vue 对其进行转换并使其具有反应性

有时您可能希望为现有对象分配多个属性,例如使用 Object.assign() 或 _.extend()。但是,添加到对象的新属性不会触发更改。在这种情况下,创建一个具有原始对象和 mixin 对象属性的新对象

我所在州的 Object 是js-libp2p. 每当libp2p实例执行某些操作时,我都需要定期更新状态中的对象。我是通过执行突变来做到这一点的

syncNode(state, libp2p) {
    state.p2pNode = libp2p
}
Run Code Online (Sandbox Code Playgroud)

libp2p我试图通过更改 DOM 来响应的对象的当前实例在哪里state.p2pNode?我不能使用$set,这是用于单值编辑,我认为.assign.extend不会工作,因为我正在尝试替换整个对象树。

为什么会有这个限制,是否有针对这个特定问题的解决方案?

javascript vue.js vue-component vuex vuejs2

5
推荐指数
1
解决办法
1629
查看次数

使用 node-postgress 连接到 PostgreSQL@localhost 时遇到困难(错误:28000)

我目前正在 rPi3B+ (aarch64) 上运行 openSuse,并且在运行 NodeJS 连接脚本时遇到了困难。

我完成了 PostgreSQL 的标准安装(v10 是此版本的 openSuse 上提供的),然后创建了一个新角色

CREATE ROLE new_role LOGIN PASSWORD 'passwd';
Run Code Online (Sandbox Code Playgroud)

然后是一个数据库

CREATE DATABASE new_db OWNER new_role;
Run Code Online (Sandbox Code Playgroud)

&\l返回\du预期的输出表明角色和数据库均已使用正确的所有者成功创建。

因此,我然后快速创建了一个节点项目目录并从文档复制了测试脚本: https: //node-postgres.com/features/connecting

const { Pool, Client } = require('pg')
const connectionString = 'postgresql://new_role:passwd@localhost:5432/new_db'

const pool = new Pool({
  connectionString: connectionString,
})

pool.query('SELECT NOW()', (err, res) => {
  console.log(err, res)
  pool.end()
})

const client = new Client({
  connectionString: connectionString,
})
client.connect()

client.query('SELECT NOW()', (err, res) => {
  console.log(err, res)
  client.end() …
Run Code Online (Sandbox Code Playgroud)

postgresql node-postgres

4
推荐指数
1
解决办法
1万
查看次数