如何监听 Bookshelf.js 模型中的属性何时更新?

Posted

技术标签:

【中文标题】如何监听 Bookshelf.js 模型中的属性何时更新?【英文标题】:How can I listen for when an attribute in a Bookshelf.js model is updated? 【发布时间】:2018-09-19 19:17:19 【问题描述】:

我正在使用 Bookshelf.js。我想监听我的一个模型中的特定属性何时更新。如果是,我想运行一个函数。如何收听模型的更新?

【问题讨论】:

【参考方案1】:

例如:

const User = bookshelf.Model.extend(
  tableName: 'users',

  initialize() 
    this.on('updated', (model) => 
      // This is fired after a model is updated
    )
  
)

请注意,这不会在您每次使用 .set() 更改模型属性时触发,而是仅在使用 model.save() 将模型保存到数据库时触发。

【讨论】:

以上是关于如何监听 Bookshelf.js 模型中的属性何时更新?的主要内容,如果未能解决你的问题,请参考以下文章

Bookshelf.js - 如何从连接表中获取列?

使用 Bookshelf.js 在数据透视模型上设置时间戳

Bookshelf.js belongsToMany 查询列错误

与 bookshelf.js 的多个多对多关系

Bookshelf.js/Knex.js 对 UTC DATETIME 列太“有用”

为啥我们需要 bookshelf.js 的 fetch() 方法中的新对象?