@Sisir과 마찬가지로, 모델 값이 더러운 지 확인하려면 일종의 변수가 필요할 수 있습니다. 여기에 구현 된 방법이 있습니다. 기본적으로 모델 속성은 value
및 isDirty
속성으로 구성됩니다. 그래서 enteredUsername
귀하의 수정 된 코드는
var User = Ember.Object.extend({
enteredUsername: {
value: '',
isDirty: false
},
username: function() {
var value = this.get("enteredUsername.value").trim();
//Once dirty is set, then dont reset.
if(!this.get('enteredUsername.isDirty')) {
this.set('enteredUsername.isDirty', value.length > 0);
}
return value;
}.property('enteredUsername.value'),
usernameError: function() {
var username = this.get("username");
var isDirty = this.get('enteredUsername.isDirty');
if (!username && isDirty) {
return "please enter a username";
}
}.property('username', 'enteredUsername.isDirty')
});
Here is a working demo.
단지와 생각처럼 보일 것이다
될 속성이'dirty' .. – Sisir