backbone 在 jquery 中声明时无法通过控制台访问视图
backbone view not accessible through console while declared in jquery
在 jquery
中尝试获取声明的视图(以及模型和集合)时出错
var PageView = Backbone.View.extend({
initialize: function(){
this.model = new PageModel();
},
});
$(function() {
var pageView = new PageView();
});
在控制台中使用 pageView(只需键入 pageView)出现错误:
Uncaught ReferenceError: pageView is not defined
at <anonymous>:1:1
没有 jquery 效果很好。
我知道这是基础知识,但无法弄清楚。
提前致谢
我们放在 jquery 代码开头的公共位:
$(function() {
// ...
});
这意味着当 DOM 准备就绪时执行此函数,并且作为参数传入的函数实际上是一个函数定义...因此它具有不同于全局范围的自己的范围。
您的变量已在函数中定义,但在全局范围内仍未定义。如果你想在全局范围内访问变量,但不想提前初始化它,你可以这样做:
var pageView = false;
$(function() {
pageView = new PageView();
});
在 jquery
中尝试获取声明的视图(以及模型和集合)时出错var PageView = Backbone.View.extend({
initialize: function(){
this.model = new PageModel();
},
});
$(function() {
var pageView = new PageView();
});
在控制台中使用 pageView(只需键入 pageView)出现错误:
Uncaught ReferenceError: pageView is not defined
at <anonymous>:1:1
没有 jquery 效果很好。
我知道这是基础知识,但无法弄清楚。 提前致谢
我们放在 jquery 代码开头的公共位:
$(function() {
// ...
});
这意味着当 DOM 准备就绪时执行此函数,并且作为参数传入的函数实际上是一个函数定义...因此它具有不同于全局范围的自己的范围。
您的变量已在函数中定义,但在全局范围内仍未定义。如果你想在全局范围内访问变量,但不想提前初始化它,你可以这样做:
var pageView = false;
$(function() {
pageView = new PageView();
});