어쨌든 Ember 앱의 확인란은 항상 처음에 선택되어 있습니다.Ember.js 체크 박스 바인딩 초기 값이 잘못 설정되었습니다.
...
{{#each model.fields}}
...
{{input type="checkbox" checked=isOptional}}
fields 배열은 내 모델의 속성입니다. fields 배열의 각 객체에는 isOptional이라는 속성이 있으며 "true"또는 "false"가 될 수 있습니다.
isOptional의 값에 관계없이 어떤 이유로 든 확인란이 처음 선택됩니다.
확인란을 수동으로 선택하면 isOptional 플래그가 실제로 변경됩니다. 따라서 바인딩은 초기 값을 찾는 것을 제외하고는 작동합니다.
도움을 주셔서 감사합니다.
편집 : 주석에서 설명하고있는 바와 같이 내 모델이 따옴표 "false"를 가지고 확인 확인란의 결과로, 실제 값으로 해석했다 Ember.$.getJSON()
에 의해 반환 된 때문에, 문제가 있었다. 당신이 당신의 자신의 jsbin를 제공 할 수있는 경우 우리는 더 도울 수, http://emberjs.jsbin.com/kukokiti/1/
바이올린 수
model.fields.forEach(function(field, i) {
Ember.set(field, 'isOptional', (field.isOptional == 'true'));
});
isOptional 속성에 ANY 값이 없습니까? false, null 또는 undefined 이외의 값을 지정하면 확인란이 선택됩니다. –
고마워, 그게 문제가 될 것 같아! "Ember. $. getJSON"을 사용하여 "false"를 따옴표로 반환하는 내 모델을 가져옵니다. Ember에게 부울로 해석하도록 요청하는 간단한 방법이 있습니까? – Daniel
이것이 유용 할 수도 있습니다 - http://emberjs.com/api/data/classes/DS.BooleanTransform.html -하지만 TBH 나는 Ember.Data를 사용하지 않기 때문에 나보다 나은 리소스가있을 수 있습니다. –