我当前的任务是替换条件条件下的敲除js(如果要切换大小写,则要替换多个条件)来检查两个以上条件。方案是,如果用户通过了身份验证,则切换图标应显示为绿色,而对于未通过身份验证的用户,切换图标应为灰色。下面是我在这里所说的方案的代码,IsAuthenticatedUser()是一个布尔值,始终为true或false。现在,我必须将bool(0 1)的值更改为flag(0 1 2 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
对于布尔值,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 -->
对于Flag值,我必须执行以下操作,
<!-- 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 -->
但这是行不通的,因此如果要进行多重条件检查,或者我们如何通过用户切换控件来处理这种情况,还有另一种使用方式。
任何建议都会有所帮助。
您ko if: UserFlag
应该可以工作,尽管我会将其更改为userFlag,并且您可能需要将其更改为ko if: userFlag()
另外,为什么不简化它并创建一个getAuthClass()函数,绑定元素属性并计算viewModel中的所有图标呢?
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句