2013-12-19 6 views
1

나는 다음과 같은 마크 업을 가지고 업데이트되지 않은 : 나는 녹아웃 모델로 내 서버 모델을 변환 매핑 폴더의 유틸리티를 사용하고녹아웃 스타일 바인딩

<div data-bind="foreach: ReportsByPriority"> 
     <h2><span data-bind="text: Priority.Name"></span> Priority <span class="more-info"></span><span class="info small" data-bind="text: Priority.Description"></span></h2> 
     <ol data-bind="foreach: ReportReplies" > 
      <li><span data-bind="text: Name"></span<br/><br/> 
       <input type="checkbox" name="ViolationCorrected" id="ViolationCorrected" data-bind="checked: ViolationCorrected"/> 
       <span data-bind="style: { color: (ViolationCorrected == true ? '#3c801b' : 'red')}">Violation Corrected</span><br/><br/> 
      </li>  
     </ol> 
</div> 

. 페이지가로드 될 때 모든 것이 올바르게 보이지만 ViolationCorrected 확인란을 선택하거나 선택 취소하면 텍스트의 색상이 변경되지 않습니다. 콘솔에서 내가 이것을 입력 할 때 :

mappedModel.ReportsByPriority()[0].ReportReplies()[0].ViolationCorrected() 

그것은 각각의 체크 박스의 정확하고 업데이트 된 값을 보여주고 있지만, 텍스트의 색상이 변경되지 않습니다. 콘솔에서 업데이트 된 값을 표시하는 경우 명확하게 작동 관찰 가능하고 변경된 값을 캡처하므로 스팬에서 스타일 바인딩 색 검사가이를 반영하도록 변경하지 않는 이유는 무엇입니까? 조건부 로직을 수행하고 있기 때문에

답변

3

당신은 관찰의 값을 얻을 필요 -

<div data-bind="foreach: ReportsByPriority"> 
     <h2><span data-bind="text: Priority.Name"></span> Priority <span class="more-info"></span><span class="info small" data-bind="text: Priority.Description"></span></h2> 
     <ol data-bind="foreach: ReportReplies" > 
      <li><span data-bind="text: Name"></span<br/><br/> 
       <input type="checkbox" name="ViolationCorrected" id="ViolationCorrected" data-bind="checked: ViolationCorrected"/> 
       <span data-bind="style: { color: (ViolationCorrected() === true ? '#3c801b' : 'red')}">Violation Corrected</span><br/><br/> 
      </li>  
     </ol> 
</div> 

ViolationCorrected 함수이므로 거짓 같지 않은, 아무것도하지 있기 때문에 부하에 작동하는 이유는 false와 동일하면 참입니다.