0
我有一个博客文章中的下载列表。点击链接后,我正在递增下载downloadcount
属性。为了防止进一步执行,我有这个项目控制器download
。由于某些原因,alreadyIncreased
即使在连续执行操作时也始终为false。 这是为什么?防止进一步的动作执行
import Ember from 'ember';
export default Ember.ObjectController.extend({
alreadyIncreased: false,
actions: {
incDownload: function() {
if (this.get('alreadyIncreased') === false){
this.set('alreadyIncreased', true)
this.get('model').incrementProperty('downloadcount')
this.get('model').save()
}
}
}
})
这是模板:
{{#each download in post.downloads itemController="base.download" }}
<p>
<a {{ action "incDownload" }}>
{{ download.name }}
</a> - {{ download.downloadcount }} Hits
</p>
{{/each}}
我猜这正是发生了什么事。我认为当itemController下面的模型改变时,itemController会被重新生成。 – 2015-02-24 15:10:01
你是对的。我现在处理父控制器中的对象,这将不会被重新生成。 – Hedge 2015-02-24 15:14:01