簡體   English   中英

在Ember.js中存儲初始模型屬性值

[英]Storing initial model property value in Ember.js

可能是一個簡單的答案,但是作為一個初學者,例如,我想將余燼模型中的屬性存儲在控制器中,然后可以將其與新數據進行比較,我該怎么做呢?

為了提供更多上下文,我有一個輸入字段,其中使用model.user_input檢索值,我希望能夠在首次加載視圖時將其存儲在某個地方,然后在值更改時進行比較。 我嘗試使用計算屬性,但是當模型更改時,它們也會更新。

在控制器的路由中,可以設置控制器,以便控制器保存初始值:

import Ember from 'ember'

export default Ember.Route.extend({
  model() {
    return {
      'user_input': /* ... */
    }
  },

  setupController(controller, model) {
    this._super(...arguments)
    controller.set('original_input', Ember.get(model, 'user_input'))
  }
})

這樣,當值更改時,您可以簡單地通過Ember.get(this, 'original_input')獲取原始值:

import Ember from 'ember'

export default Ember.Controller.extend({
  'original_input': '',

  isChanged: Ember.computed('model.user_input', function() {
    return Ember.get(this, 'original_input') !== Ember.get(this, 'model.user_input')
  })
})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM