首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >knockout "X is not defined“错误

knockout "X is not defined“错误
EN

Stack Overflow用户
提问于 2017-05-28 04:42:39
回答 1查看 1.8K关注 0票数 1

我有一个击倒模型,并且得到一个我不理解的错误。

下面是令人不快的代码部分:

代码语言:javascript
复制
<!-- ko with: SearchModel -->
...
            <img class="search-img" data-bind="visible: searching" src="@Url.Content("~/Static/Hypercube_Large_Light_Transparent.gif")" height="30" />
            <img id="searchIcon" class="search-img" data-bind="visible: !searching()" src="@Url.Content("~/Static/search_icon.png")" height="30" />
...
<!-- /ko -->

在SearchModel.js中:

代码语言:javascript
复制
...
this.searching = ko.observable(false);
...

在第二次引用searching时,我得到了一个错误。第一个错误解决得很好,并且没有其他错误。奇怪的是,代码实际上是有效的,所以每当我将searching变量更改为true时,第二个图像将消失,第一个图像出现,然后当我将其更改回false时,第一个图像消失,第二个图像出现。

代码语言:javascript
复制
Uncaught ReferenceError: Unable to parse bindings.
Bindings value: visible: !searching()
Message: searching is not defined
EN

回答 1

Stack Overflow用户

发布于 2017-05-28 22:14:04

我怀疑您需要在绑定with之前检查SearchModel是否存在。

类似于:

<!-- ko if: SearchModel() -->

或者更具体的:

<!-- ko if: SearchModel() !== 'undefined' && SearchModel() !== null -->

您还可以根据视图模型的层次结构,创建一个ko.pureComputed来检查SearchModel的存在,并在HTML中使用如下代码:

<!-- ko if: SomePureComputed -->

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44221443

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档