Backbone.js 사용 set 메서드를 사용하여 모델의 속성을 설정하고 attributes internal hash을 직접 수정하지 않는 것이 좋습니다.backbone.js 모델 내부 특성 해시를 직접 설정하십시오
그러나 "change"이벤트를 자동으로 실행하지 않는 것 외에 내부 해시를 직접 수정하는 데있어 다른 부작용이나 "부작용"이 있습니까?
제가 직면 한 문제는 set 메소드가 객체 리터럴을 사용하는 반면 실행시 결정된 변수를 사용하여 왼쪽에 할당해야한다는 것입니다. 감사. 당신이 annotated source code 보면
myModel.set({
myProperty : myValue; //myProperty is a variable, so this is invalid syntax
})
//vs
myModel.attributes[myProperty] = myValue; //myProperty is a variable that can be evaluated
나는 귀하의 솔루션이 훌륭하다고 생각합니다. 이 기능은 최신 Backbone 릴리스로 병합되어야합니다! 주석이 달린 소스 코드를 지적 해 주셔서 감사합니다. 당신 말이 맞아요. 처음부터 보았어야했는데. – fortuneRice
멋진! 나는이 코드를 12 번이나 썼다. 그리고 그것을 결코 방법으로 생각하지 않았다. :) btw : 이것을 사용하지 않아도됩니다. 'Backbone.Model.prototype.setByName = function (...) {...} '같은 기능을합니다 ... 기능적으로 동일합니다. 그것을하는 다른 방법. –
@Derick Bailey : Funny ... 나는'_.extend'가 프로토 타입을 확장하기 위해 약간의 영리를 가지고 있다고 생각했습니다. 실제로 모든 변경 사항을 가진 객체를 확장하는 것입니다. 아무것도 거기에 미치지 않는다. 내 대답을 바꾸면 그것을 인정합니다. 감사. –