我使用Backbone.js创建一个Web应用程序,将所有视图,集合和模型写入一个js文件,它成功了!
现在我想将它们分成不同的js文件,就像:
并在jquery load中加载模型代码:
$(function(){
//Model
var manageModel = Backbone.Model.extend({
default:{
'selectedId':'unknow'
},selectLayer:function(uuid){
this.set({"selectedId": uuid});
},delLayer:function(){
}
});
})
萤火虫告诉我bug:
manageModel is not defined
[Break On This Error]
model: manageModel
在集合文件中
最佳答案
添加函数包装器后:
原文链接:https://www.f2er.com/jquery/428774.html$(function() {
// ...
})
您已经引入了新的范围,并且在这些函数中声明的所有变量只能在这些函数中可见.你可以通过使它们全局(即窗口的属性)来解决这个问题:
$(function(){
window.manageModel = Backbone.Model.extend({
//...
});
});
或更好,引入应用程序命名空间:
$(function(){
window.app = window.app || { };
window.app.manageModel = Backbone.Model.extend({
//...
});
});
然后通过app.manageModel等应用程序引用事物:
$(function(){
window.app = window.app || { };
window.app.someCollection = Backbone.Collection.extend({
model: app.manageModel,//...
});
});