我正在 Parse.com 中编写一个应用程序,并且我定义了一个“AppState”对象,它存储了我通过应用程序传递的各种常量和值(有点像 PHP 会话)。
有一次,我试图从 AppState 对象中读取一个值,尽管它似乎已设置,但我没有取回该值。
AppState 定义为:
var AppState = Parse.Object.extend("AppState", {
defaults: {
folderShown: '',
folderSpecial: 'all',
showCaption: false
}
});
然后我必须启动应用程序:
var state = new AppState;
new AppRouter;
new AppView;
在 AppRouter 中,我正在设置“路由”的值:
var AppRouter = Parse.Router.extend({
routes: {
"viewPage/:object_id": "viewPage",
},
initialize: function(options) {
},
viewPage: function(object_id) {
state.set("currentPage", object_id);
state.set("route", "view");
}
});
在应用程序视图中,我有:
var AppView = Parse.View.extend({
initialize: function() {
this.render();
},
render: function() {
console.log(state);
console.log(state.get('route'));
}
});
第一个控制台日志显示状态,属性“路由”设置为“视图”:
attributes: Object
folderShown: ""
folderSpecial: "all"
route: "view"
showCaption: false
第二个控制台日志显示“未定义”。
如果我获得默认属性之一,例如“folderSpecial”,它会读取正确的值。
我究竟做错了什么?