我想比较一个值是否为;“不可用”;javascript
我正在使用knockout,我想比较一个值是否不可用。在JavaScript/knockout中有什么方法可以做到这一点吗我想比较一个值是否为;“不可用”;javascript,javascript,knockout.js,Javascript,Knockout.js,我正在使用knockout,我想比较一个值是否不可用。在JavaScript/knockout中有什么方法可以做到这一点吗 <!-- ko if: User().details()[0] != undefined --> <p>Your defined</p> <!--/ko--> 你的定义 我尝试了未定义的,但没有效果。有人知道我可以将其与什么进行比较,以便它检查值是否不可用吗?您需要将类型的值与未定义的进行比较。例如: &l
<!-- ko if: User().details()[0] != undefined -->
<p>Your defined</p>
<!--/ko-->
你的定义
我尝试了
未定义的
,但没有效果。有人知道我可以将其与什么进行比较,以便它检查值是否不可用吗?您需要将类型的值与未定义的进行比较。例如:
<!-- ko if: typeof User().details()[0] !== 'undefined' -->
<p>Your defined</p>
<!--/ko-->
好吧,不要检查是否有未定义的内容,如果您处于进退两难的境地,请始终将与(在您的场景中为无容器)一起使用,这符合确切的目的
查看:
<!-- ko with:$data.User1 -->
<p data-bind="text:$data"> defined</p>
<!--/ko-->
<!-- ko if:$data.User -->
<p>Your defined</p>
<!--/ko-->
var viewModel = {
User: ko.observable('charlie')
};
ko.applyBindings(viewModel);
在视图中,您可以看到我故意将与:user1一起使用
,但您的代码不会破坏它,只是停止往下看。如果您尝试对If
执行相同的操作,则会出现未定义的错误
如果你真的想继续进行if
,那么试着根据你施加的条件使用一个计算出的值并返回true/false。使视图更清晰
工作您能告诉我如何将此应用于上面的代码吗?@DomAdams在这种情况下,请使用一些其他代码更新您的问题,包括您的淘汰模型。User
或details
不是函数。将其定义为计算值可能有意义。如果问题是对象不是函数
错误,如下文所述,则需要使用淘汰模型代码更新问题。很可能用户
或详细信息
不是一个函数。