Parse.View.extend - "无法读取属性'extend'undefined&qu
Parse.View.extend - "cannot read property 'extend' of undefined"
目前使用Parse JavaScript SDK的web应用程序,但我也是新的骨干,因为这个特殊的问题是在功能,Parse从骨干复制过来,我不确定我到底在哪里犯了我的错误。
我有index.html
,具有这样的基本结构&脚本模板标签(由_underscore使用):
<div id="my-app">
</div>
<script type="text/template" id="album-header-template">
<div id="some-id">
Some Content
</div>
</script>
在<body>
的末尾,下面的脚本标记,以照顾Parse依赖,加载Parse, &使用我自己的JS文件:
<script src="libraries/node_modules/jquery/dist/jquery.min.js"></script>
<script src="libraries/node_modules/underscore/underscore-min.js"></script>
<script src="libraries/node_modules/parse/dist/parse-latest.min.js"></script>
<script src="app/ParseApp.js"></script>
然后在ParseApp.js
中,我试图通过创建简单的对象和视图来脱离地面,我有以下内容:
$(function () {
var Album = Parse.Object.extend("Album",{
// Default attributes for the album
defaults: {
name: "Album Title"
},
// Ensure that each album created has a title
initialize: function() {
if (!this.get("name")) {
this.set({"name": this.defaults.content});
}
},
});
var HomeView = Parse.View.extend({
el: $("#my-app"),
initialize: function() {
console.log("new instance of HomeView");
this.render();
},
render: function() {
this.$el.html(_.template($("#album-header-template").html()));
}
});
new HomeView;
});
当我在浏览器中运行index.html
时,我在控制台中得到以下错误:Uncaught TypeError: Cannot read property 'extend' of undefined
(发生在var Home View = Parse.View.extend
行)。
最初,我认为这可能是因为Parse没有及时启动ParseApp.js
使用它,基于我的脚本加载。然而,我从Parse中运行了推荐的"测试SDK"脚本,并且它确实被初始化了(此外,使用var Album
添加对象可以正常工作)。所以我真的被困在导致HomeView
或Parse.View
"未定义"的原因上。
可能是我忽略的一个直接的答案,但任何帮助都会非常感激,如果需要,我可以提供完整的文件。
不是一个非常令人满意的答案,但感谢@Yura &@Daniel Blank,发现这个错误是因为Parse SDK的最新版本(1.6.0之后的所有版本)不再包含完整的Backbone功能。这包括我从npm本地使用的版本。
解析SDK方向的最佳解释在上面给出的链接中,对于那些希望继续使用Parse和/或Backbone的人来说,似乎有三个选择:- 使用旧版本(1.5.0是包含骨干功能的最新版本)来维护骨干功能,例如
Parse.Collection
或Parse.Router
。 - 尝试解析sdk无关,同时继续使用骨干。可以使用基本的Parse REST API,或者尝试其中一个GitHub项目尝试为您做链接。
- 放弃Backbone,并使用Parse与VanillaJS,或者可能切换到React(这显然是Facebook希望Parse的方向)
我太没有经验了,不能推荐这三种方法中的任何一种,尽管#1似乎是最简单的,而#3似乎是最容易维护的。我还在试着自己做决定,但这已经超出了我最初问题的范围。谢谢大家的帮助。
有两件事让我眼前一亮:
- 我不知道你在哪里初始化Parse…通常,产生不同的错误,但仍然可能是一个问题
- 您正在引用自己的本地库进行Parse…也许可以尝试瞄准正式部署的版本。
脚本src = " http://www.parsecdn.com/js/parse-1.2.13.min.js "
- RegEx删除空属性?例如,如果(class=“”||class=“”)移除;否则就下课
- 全局变量和全局对象的属性之间有什么区别吗
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- 如何在Bootstrap Modal中为动态点击生成的变量设置jade属性
- 序列化数据属性中对象的最可靠方法
- 分析高度属性时出现意外值{{specs.height}}.index.html
- TypeError:无法读取属性'推'未定义的JavaScript
- 同样,同样的错误'ahorcado.js:26未捕获类型错误:无法读取属性'beginPath'
- AngularJS-使用'true'属性
- 可以't使用JavaScript获取width属性
- 未捕获的TypeError无法读取未定义的属性socialsharing
- 使用带有自定义对象作为属性的jQuery.extend时出现意外行为
- Backbone.Model.extend不创建实例属性
- Javascript 使用 $.extend 按值复制,但只有一个对象属性
- 在使用jquery$.extend()时忽略属性
- jQuery$.extend,而不覆盖目标属性
- Parse.View.extend - "无法读取属性'extend'undefined&qu
- ko.utils.extend没有't从模型重写属性
- _.extend忽略了MEAN Stack中的一个属性
- 不能读取属性'forEach'在new Schema.extend处未定义