代码
import Ember from 'ember';
export default Ember.Component.extend({
editing: false,
actions: {
editTodo() {
this.toggleProperty("editing");
},
submitTodo() {
const todo = this.get("todo");
if (todo.get("title") == "") {
todo.destroyRecord().then(() => {
this.toggleProperty("editing");
});
} else {
this.toggleProperty("editing");
}
},
deleteTodo() {
this.get("todo").destroyRecord();
}
}
});
这个“editing”属性是如何起作用,有人能解释一下吗?
1条答案
按热度按时间iovurdzv1#
首先,这看起来像是旧的ember代码。在现代的ember中,我只会这样做:
这也解释了旧的
toggleProperty
是如何工作的。基本上是这样的:(如果你理解旧的ember
get
和set
)基本上是这样的:而且还通知ember已更改的属性,以便ember更新DOM。现在的ember不需要它,因为它使用
@tracked
来标记状态,其余的将 * 正常工作 *。