내 현재 작업은 두 개 이상의 조건을 확인하기 위해 케이스를 전환하는 경우 조건부로 녹아웃 js를 교체하는 것입니다. 시나리오는 사용자가 인증 된 경우 토글 아이콘이 녹색으로 표시되어야하며 인증되지 않은 사용자의 경우 토글 아이콘이 회색으로 표시되어야합니다. 아래는 내가 여기에 언급 한 시나리오에 대한 코드입니다. IsAuthenticatedUser ()는 항상 true 또는 false를 갖는 bool 값입니다. 이제 bool (0 1) 값을 flag (012 3) 값으로 변경해야합니다.
Bool representation is,
0 - Not Authenticated - grey icon
1 - Authenticated - green icon
Flag Value
0 - Not Authenticated - grey icon
1 - Authenticated - green icon
2 - Authenticated but expired - no icon
3 - Authenticated but not yet license period started - no icon
bool 값의 경우 Knockout JS 조건부 분리는 다음과 같습니다.
<!-- ko if: IsAuthenticatedUser() -->
<i class="fa fa-toggle-on faIcons green" title="Active"
data-bind="click: function (data, event) { $parent.functiongoeshere }"></i>
<!-- /ko -->
<!-- ko if: !IsNotAuthenticatedUser() -->
<i class="fa fa-toggle-on faIcons fa-rotate-180 toggleOff" title="Inactive"
data-bind="click: function (data, event) { $parent.functiongoeshere }"></i>
<!-- /ko -->
플래그 값은 아래와 같이해야합니다.
<!-- ko if: UserFlag == 1 -->
<i class="fa fa-toggle-on faIcons green" title="Active"
data-bind="click: function (data, event) { $parent.functiongoeshere }"></i>
<!-- /ko -->
<!-- ko if: UserFlag == 0 -->
<i class="fa fa-toggle-on faIcons fa-rotate-180 toggleOff" title="Inactive"
data-bind="click: function (data, event) { $parent.functiongoeshere }"></i>
<!-- /ko -->
<!-- ko if: UserFlag == 2 -->
<!-- No ICON -->
<!-- /ko -->
<!-- ko if: UserFlag == 2 -->
<!-- No ICON -->
<!-- /ko -->
그러나 이것은 작동하지 않습니다. 여러 조건 검사를 위해 if를 사용하는 다른 방법이 있거나이 시나리오를 처리하기 위해 사용자가 제어를 전환 할 수있는 방법이 있습니다.
어떤 제안이라도 도움이 될 것입니다.
ko if: UserFlag
내가 그것을 userFlag로 변경할 것이지만 당신 은 작동해야합니다.ko if: userFlag()
또한 간단하게 유지하고 getAuthClass () 함수를 만들고 요소 속성을 바인딩하고 viewModel의 모든 아이콘을 계산하지 않는 이유는 무엇입니까?
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다