在Ember.js中,@tracked数组是用来追踪数组中元素变化的特殊属性。当数组中的元素发生变化时,@tracked属性会自动更新,并且可以反映在屏幕上的更改。下面是如何在@tracked数组中更新对象的值的步骤:
import { tracked } from '@glimmer/tracking';
import Component from '@glimmer/component';
class MyComponent extends Component {
@tracked array = [{ name: 'John' }, { name: 'Jane' }, { name: 'Bob' }];
}
在上述代码中,我们创建了一个包含三个对象的@tracked数组。
this.array[0].name = 'Alice';
在上述代码中,我们将数组中第一个对象的name属性更新为'Alice'。
this.notifyPropertyChange('array')
来实现。例如:this.array[0].name = 'Alice';
this.notifyPropertyChange('array');
这将告诉Ember.js重新计算@tracked数组的值,并将更改反映在屏幕上。
总结一下,要在Ember.js中更新@tracked数组中对象的值,你需要引入@tracked装饰器,创建一个包含对象的@tracked数组,直接修改数组中的对象的值,并在更新后调用this.notifyPropertyChange('array')
来通知Ember.js重新计算数组的值。
领取专属 10元无门槛券
手把手带您无忧上云