你不能對控制器的財產計數,因爲它總是會重新初始化,你必須始終爲零。但是,您可以訪問應用程序控制器和這樣的屬性不會重置:
// better use Controller because ObjectController is getting deprecated
App.AboutController = Ember.Controller.extend({
needs: ['application'],
count: Ember.computed.alias('controllers.application.count'),
content: Ember.computed.alias('controllers.application.content'),
counterUp: (function() {
count = this.get('count') + 1 || 1;
this.set('count', count);
this.set('content', count % 100);
}).on('init')
});
如果你願意,你可以初始化計數和內容性質是這樣的:
App.ApplicationController = Ember.Controller.extend({
count: 0,
content: 0
})
如果你已經使用了代理ObjectController使用的行爲可以用它替換Controller。
如何運行counterUp功能?如果它是一個來自模板的動作,你應該把它放在動作中:object –
所以計數器應該儘可能以頁面加載的速度啓動.... counterUp被放置在模板上 –
好吧,因爲解決方案進入了不同的方向:你想要在每個「頁面加載」上計數一個(x = x + 1),還是計數器應該在頁面加載時自動啓動(如非常基本的時鐘)? – jnfingerle