2012-12-04 2 views
1
<!-- ko if: ItemType() > 0 --> 
    <div ... </div> 
<!-- /ko --> 
<!-- ko else if: OfferId() != "" --> 
    <div ...  </div> 
<!-- /ko --> 

ItemType은과 OfferId는 객체의 속성과MVC 3 녹아웃 다른 경우 문자열! = ""

public string OfferId { get; set; } 
public int ItemType { get; set; } 

p.ItemType = ko.observable(item.ItemType); 
p.OfferId = ko.observable(item.OfferId); 

문 작동하는지 처음으로 추가하지만 다른하지 나타내고 itemtype에 경우에도 경우가 0이다 OfferId는 뭔가 있습니다. 왜?

답변

2

콜론 앞에 javascript를 입력하지 않았습니다. 이것은 녹아웃에서 바인딩의 이름입니다. 녹아웃에는 else if 바인딩이 없습니다.

당신은 수행해야합니다

<!-- ko if: ItemType() > 0 --> 
    <div ... </div> 
<!-- /ko --> 
<!-- ko if: ItemType() <= 0 && OfferId() != "" --> 
    <div ...  </div> 
<!-- /ko --> 

을 바인딩의 전체 목록은 "제어 흐름"섹션은 if 바인딩이 http://knockoutjs.com

에서 왼쪽 열을 참조 - 아니 else if합니다.

+0

완벽하게 작동합니다. 빠른 답변 감사합니다 – user1875407

0

두 번째 명령문에서 else를 제거하십시오. 내가 아는 한 녹아웃에서 바인딩하는 경우 다른 없습니다.

<!-- ko if: OfferId() != "" && ItemType() == 0 --> 
    <div ...  </div> 
<!-- /ko -->