我应该如何组织代码,以便我可以在 WinJS 应用商店应用的多个页面中查看类的实例
How should I organise code so that I can see instances of a class in multiple pages of a WinJS Store App?
(示例取自 http://msdn.microsoft.com/en-us/library/windows/apps/hh967793.aspx)
如果我将机器人类存储在主页上的默认.js文件之后。
// robot.js
(function () {
var Robot = WinJS.Class.define(function (name) {
this.name = name;
},
{ modelName: "" },
{ harmsHumans: false, obeysOrders: true }
);
WinJS.Namespace.define("Robotics", {
Robot: Robot
});
})();
在第 1.js 页中,我创建了一个机器人实例。
// page1.js
var myRobot = new Robotics.Robot("Sam");
var harm = Robotics.Robot.harmsHumans;
从 page2.js 访问 myRobot 实例的最佳方式是什么?
// page2.js
console.log(myRobot.name);
我查看了 WinJS 命名空间,但我看到的所有示例都显示从同一页面访问实例。
我是否应该将实例存储在某种存储中?
WinJS 命名空间只是将命名空间名称(例如 Robotics)
添加为全局命名空间中的变量,因此您放置在命名空间中的任何内容(例如 Robotics.Robot)都可以从代码中的任何其他位置从该根名称访问。这意味着您只需在 robot.js 中添加另一个成员,如 robotInstance: null 到您的命名空间定义中,然后在 page1.js 中设置 Robotics.robotInstance = myRobot; 。page2.js然后可以访问Robotics.robotInstance,没问题。
最重要的是,WinJS 命名空间只是保持全局命名空间井井有条和整洁的约定,但除此之外,它只是全局变量。没有魔法。
相关文章:
- 如何通过osascript处理同一应用程序的两个实例
- Angularjs应用程序的多个实例
- 在两台不同的服务器上运行同一node.js应用程序的两个实例
- 使用AsyncStorage实例化持久应用程序状态
- 在单页应用程序上重用谷歌地图API实例
- 适用于 Android 应用程序的 Java 代码中的实例化异常
- 存储对通讯簿应用的实例化对象的引用
- 在 Angular.js 中跨应用程序使用相同的对象实例
- 创建 JavaScript 自定义应用程序的新实例
- 使用主干.js中的路由管理单页应用程序中的多个视图实例
- 在应用程序中获取多个 ID 实例
- 如何拥有具有单独LocalStorage的单独Electron应用程序实例
- 对 Ember 应用程序进行反射/自省,以查找特定模型的实例
- Amazon EC2 实例上的负载测试节点.js应用程序
- 我应该如何组织代码,以便我可以在 WinJS 应用商店应用的多个页面中查看类的实例
- 创建新的类实例并将参数应用为数组
- 在Chrome原生消息传递:有多长是本地应用实例对象的生命周期
- 在同一页面中嵌入两个Ember Cli应用实例
- backbone.js这个.模型是未定义的葡萄酒应用实例
- 从外部(cordova)访问Ember应用实例