2013-10-22 2 views
0
App.Person = Ember.Object.extend({ 
    firstName: "Trek", 
}); 

App.person = App.Person.create({ 
    firstName: undefined 
}) 

console.log(App.person.get('firstName')); 

이 코드를 출력 정의되지 않은,하지만 난 재산의 설정을 가로 채기 위해 어떻게 든 원하는가에 설정하면 정의되지 않은 기본값 "트렉"을 변경하지 마십시오.Ember.js

엠버 - 1.0.0

답변

1

당신은 계산 사용할 수있는 속성 :

App.Person = Ember.Object.extend({ 
    _firstName: 'Trek', 
    firstName: function(key, value) { 
    if (arguments.length > 1 && typeof value !== 'undefined') { 
     this.set('_firstName', value); 
    } 

    return this.get('_firstName'); 
    }.property('_firstName') 
}); 

App.person = App.Person.create({ 
    firstName: undefined 
}) 

console.log(App.person.get('firstName')); 
1

를 사용하여 계산 된 속성과 기본값

App.Person = Ember.Object.extend({ 
    firstNameDefault:'Trek', 
    firstName:function(key,value){ 
     if(arguments.length > 1 && typeof value !== 'undefined'){ 
      return value 
     } 
     return this.get('firstNameDefault'); 
    }.property('firstNameDefault') 
}); 

App.person = App.Person.create({ 
    firstName: undefined 
}) 

console.log(App.person.get('firstName'));