Adding a global variable / function in JavaScript (specifically NativeScript)

别等时光非礼了梦想. 提交于 2019-12-18 20:48:47

问题


I'm learning how to write apps with NativeScript. I believe the best way to learn is by doing. For that reason, I'm building a basic app.

In this app, I'm trying to create a function and a variable that I can access across ALL of the view models and other code in the app. In an attempt to do this, I thought I would add a function and variable on the application object.

In NativeScript, the app is initialized using the following code:

app.js

var application = require("application");
application.mainModule = "main-page";
application.start();

I figured I could piggy back on this and add a globally visible function and variable like so:

application.prototype.myFunction = function() {
  console.log('I made it!');
};
application.myVariable = 'some value';

Then, in my view models, or other code, I could just do something like the following:

views/home.js

application.myFunction();
console.log(application.myVariable);

However, when I run this code, I get an error that says that application is undefined. I do not fully understand this. I thought that because application is defined/instantiated in app.js that it would be globally visible. However, it does not seem to be. At the same time, I'm not sure what to do.


回答1:


Use the global namespace. In your app.js, code:

var application = require("application");
application.mainModule = "main-page";

global.myVariable = 'some value';

application.start();

You can then use global.myVariable anywhere in your app.



来源:https://stackoverflow.com/questions/31502225/adding-a-global-variable-function-in-javascript-specifically-nativescript

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!