javascript-未捕获的ReferenceError:无法解析绑定
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript-未捕获的ReferenceError:无法解析绑定,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2293字,纯文字阅读大概需要4分钟。
内容图文
![javascript-未捕获的ReferenceError:无法解析绑定](/upload/InfoBanner/zyjiaocheng/658/b0244dbe677941ebb3274f3da3a89f87.jpg)
所以这是我想做的
我希望使用剔除功能仅在变量myvalue具有某些内容时才显示
这是我的代码
html
<script type='text/javascript' src="../js/knockout-2.3.0.js" defer="defer"></script>
<script type="text/javascript" src="../js/searchModel.js" defer="defer" ></script>
<h2>Welcome to My World :D</h2>
<div data-bind="visible: myValues().length > 0">
You will see this message only when 'myValues' has at least one member.
</div>
JS
function helloModel() {
// Editable data
this.viewModel = {
myValues: ko.observableArray([]) // Initially empty, so message hidden
};
//viewModel.myValues.push("some value"); // Now visible
}
我总是得到的错误是:
Uncaught ReferenceError: Unable to parse bindings.
Bindings value: visible: myValues().length > 0
Message: myValues is not defined
最有可能是因为我将属性延迟添加到了脚本标签中,这意味着直到我渲染整个html元素后才会加载文件
但是,这一点很重要,我将在以下三种情况下进行解释:
1-推迟不适用于搜索模型,如下所示
因此,现在在包含HTML元素之前将包含搜索模型.
但是,这将导致问题,因为它使用knokout代码
Uncaught ReferenceError: ko is not defined
2-推迟搜索模型不知道
<script type='text/javascript' src="../js/knockout-2.3.0.js" defer="defer"></script>
<script type="text/javascript" src="../js/searchModel.js" ></script>
会造成同样的老问题
Uncaught ReferenceError: Unable to parse bindings.
Bindings value: visible: myValues().length > 0
Message: myValues is not defined
3-忘了推迟
<script type='text/javascript' src="../js/knockout-2.3.0.js" ></script>
<script type="text/javascript" src="../js/searchModel.js" ></script>
也会引起跟进问题
未捕获的TypeError:无法读取null的属性“ nodeType”
因为脚本将在html上加载并尝试在创建元素之前将其绑定
那么,您建议如何解决该问题:)
解决方法:
这应该与您发布的代码一起使用.
<h2>Welcome to My World :D</h2>
<div data-bind="visible: myValues().length > 0">
You will see this message only when 'myValues' has at least one member.
</div>
<script type='text/javascript'>
ko.applyBindings((new helloModel()).viewModel)
</script>
我建议将您的viewmodel重构为如下所示
function helloModel() {
var self = this;
self.myValues = ko.observableArray([]);
self.pushHello = function(data,e) {
self.myValues.push("Hello, world!");
};
//self.myValues.push("some value"); // Now visible
}
然后在您的初始化代码中
<script type='text/javascript'>
ko.applyBindings(new helloModel())
</script>
内容总结
以上是互联网集市为您收集整理的javascript-未捕获的ReferenceError:无法解析绑定全部内容,希望文章能够帮你解决javascript-未捕获的ReferenceError:无法解析绑定所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。