gpt4 book ai didi

backbone.js - Backbone.Model 未定义

转载 作者:行者123 更新时间:2023-12-01 10:00:17 24 4
gpt4 key购买 nike

看起来其他人在尝试创建主干 View 时遇到了类似的问题。但我认为我的问题是不同的。以下是我在页面中包含主干的方式。

<script type="text/javascript" src="/js/jquery.min.js"></script>
<script type="text/javascript">
//<!--
jQuery.noConflict ();
//-->
</script>
<!--[if lt IE 9]><script type="text/javascript" src="/js/html5.js"></script><![endif]-->
<script type="text/javascript" src="/js/backbone-min.js"></script>
<script type="text/javascript" src="/js/showbase.js"></script>

我添加了对 jQuery.noConflict() 的调用,因为我认为这可能是问题所在。它不是。

到目前为止,这是我的 showbase.js 文件中的内容。这个简单的测试失败了。

jQuery (document).ready (
function ()
{
var props = '';
for (var p in Backbone)
props += p + ': ' + typeof Backbone [p] + "\n";
alert (props);

props = '';
for (var p in Backbone.Model)
props += p + ': ' + typeof Backbone.Model [p] + "\n";
alert (props);

alert (typeof Backbone.Model);
}
);

在第一个警报中,我得到:

VERSION: string
$: function
noConflict: function
emulateHTTP: boolean
emulateJSON: boolean
Events: object

在第二次警报中,我什么也得不到。

在第三个警报中,我得到“undefined”。

我从 Firebug 收到的错误消息是“TypeError: h is undefined”,它指向我在 backbone-min.js 文件深处的某处。

我在 http://backbonejs.org/docs/todos.html 关注 Todos 示例.在该示例中,他们做的第一件事是在 jQuery 文档就绪函数中扩展 Backbone.Model 类。这就是我所做的一切。但是那时 Backbone.Model 类甚至不存在。

我不是要访问 this.Model。在我的代码中,我从来没有达到可以访问 this 的地步。 Model 类在 Backbone 对象中只是未定义。我是否需要包含 backbone-min.js 文件以外的其他内容?

最佳答案

问题在于未包含 underscore.js。正如 Loamhoof 指出的那样,它是 backbone.js 所必需的。

我做了一些进一步的研究。根据this page , backbone 仅依赖于 json2.js 来提供 JSON.parse 和 JSON.stringify 函数,这些函数现在是大多数浏览器中普通 javascript 的一部分。所以根据该页面上的评论,json2.js 应该只需要支持不提供 JSON 功能的旧浏览器。

关于backbone.js - Backbone.Model 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17138108/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com