2012-07-17 66 views
2

爲什麼此代碼中的「fullName」函數執行兩次?emberjs - 財產火災兩次

Person = Ember.Object.extend({ 
    // these will be supplied by `create` 
    firstName: null, 
    lastName: null, 
    fullName: function() { 
    console.log('Full name function...'); 
    var firstName = this.get('firstName'); 
    var lastName = this.get('lastName'); 
    return firstName + ' ' + lastName; 
    }.property('firstName', 'lastName') 
}); 

App.tom = Person.create({ 
    firstName: "Tom", 
    lastName: "Dale" 
}); 

App.UsersView = Ember.View.create({ 
    templateName: 'users', 
    users: [App.tom] 
}); 

在谷歌鉻控制檯後來:

App.tom.set('firstName', 'John') 

此輸出登錄兩次。

+0

文本'全名功能'被打印兩次 – mprcela 2012-07-18 06:32:01

回答

2

似乎是一個錯誤,確實是(增加了的jsfiddle來說明:http://jsfiddle.net/MikeAski/GRvgt/)...

的觀點被重新描繪,和計算性能尚未緩存。 :-(

+0

通過更新到最新的ember,這被更正@see http://jsfiddle.net/Sly7/vpHth/ – 2012-07-17 18:50:31

+0

謝謝,這是一個錯誤,我只是再次測試它,它不是與穩定版本(目前0.9.8.1),但工作正常與最新版本的燼。 – mprcela 2012-07-18 06:51:23