我正在学习如何使用NativeScript编写应用程序。我相信最好的学习方法就是做。出于这个原因,我正在构建一个基本的应用程序。
在这个应用程序中,我正在尝试创建一个函数和一个变量,我可以访问所有视图模型和应用程序中的其他代码。为了做到这一点,我想我会在应用程序对象上添加一个函数和变量。
在NativeScript中,使用以下代码初始化应用程序:
app.js
var application = require("application");
application.mainModule = "main-page";
application.start();
我想我可以捎带这个并添加一个全局可见的函数和变量,如下所示:
application.prototype.myFunction = function() {
console.log('I made it!');
};
application.myVariable = 'some value';
然后,在我的视图模型或其他代码中,我可以执行以下操作:
视图/ home.js
application.myFunction();
console.log(application.myVariable);
但是,当我运行此代码时,我收到一条错误消息,指出该应用程序未定义。我不完全理解这一点。我认为,因为应用程序在app.js中定义/实例化,它将全局可见。但是,它似乎不是。与此同时,我不知道该怎么做。
答案 0 :(得分:16)
使用全局命名空间。在 app.js 中,代码:
var application = require("application");
application.mainModule = "main-page";
global.myVariable = 'some value';
application.start();
然后,您可以在应用中的任何位置使用 global.myVariable 。