[英]Ember.js How to avoid infinite loop in computed properties?
我有這個控制器。 它從模型中讀取publishedAt
,並按如下方式划分日期和時間:
dd: function() {
console.log('dd');
return moment(this.get('publishedAt')).format('YYYY-MM-DD');
}.property('publishedAt'),
tt: function() {
console.log('tt');
return moment(this.get('publishedAt')).format('H:m');
}.property('publishedAt'),
// check for recursion
publishedAt: function() {
console.log('publishedAt');
return moment(this.get('dd') + this.get('tt')).toDate();
}.property('dd', 'tt'),
如您所見,它將日期和時間分隔為publishedAt
,並且當日期或時間發生變化時,它將更新最終的publishedAt
。
現在這是我的大問題...它會產生一個無限循環,以獲取彼此的價值。 如何解決呢? 請幫忙。
dd: function() { // in the controller
console.log('dd');
return moment(this.get('publishedAt')).format('YYYY-MM-DD'); // from the model
}.property('publishedAt'),
tt: function() { // in the controller
console.log('tt');
return moment(this.get('publishedAt')).format('H:m'); // from the model
}.property('publishedAt'),
// check for recursion, in the controller
publishedAtDisplay: function() {
console.log('publishedAtDisplay');
return moment(this.get('dd') + this.get('tt')).toDate();
}.property('dd', 'tt'),
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.