📅  最后修改于: 2023-12-03 15:09:51.289000             🧑  作者: Mango
在 Ember 中,当数组中的项目被修改时,视图不会自动刷新。这就是为什么您需要使用特殊的方法来告诉视图何时更新。这可以通过以下步骤来完成:
import Component from '@ember/component';
import { A } from '@ember/array';
export default class MyComponent extends Component {
projects = A();
}
{{#each projects as |project|}}
<div>{{project.name}}</div>
{{/each}}
pushObject
方法将其添加到数组中。this.projects.pushObject({ name: 'New Project' });
notifyPropertyChange
方法来通知视图数据已被修改,并需重新渲染视图。this.notifyPropertyChange('projects');
这样,当您添加一个新项目时,它将自动出现在列表中。
请注意,它只更新了一个指定的属性,而不是整个对象。这是 Ember 框架的一种优化方法,它仅重新渲染视图所需的部分。
希望这篇文章能够帮助您解决问题,如果您有任何问题或疑问,请随时在评论中提出。