【发布时间】:2016-04-26 02:04:27
【问题描述】:
所以我想弄清楚 NativeScript 是否可以做到这一点。
所以我知道要能够在 XML 声明中添加事件处理程序,您必须在 javascript 文件中定义一个函数,如下所示 (main-page.js):
exports.testAlert = function(){
alert('test alert');
}
然后我可以在 XML 文件中使用它(main-page.xml):
<Button tap="testAlert" text="testAlert" height="50px" style="font-size:20px;" />
问题是我无法在另一个页面(inside-page.xml)中全局使用“testAlert”功能。
最初,我尝试使用全局对象并在 app.js 文件中声明我想要全局的函数,如下所示:
global.testAlert = function(){
alert('test alert');
}
我首先想到我可以像以前一样访问 XML 中的函数:
<Button tap="testAlert" text="testAlert" height="50px" style="font-size:20px;" />
这不起作用,所以我想可能是这样的(global.testAlert):
<Button tap="global.testAlert" text="testAlert" height="50px" style="font-size:20px;" />
但为了拥有相同的功能,我需要在 inside-page.js 文件中再次创建它,或者至少将全局函数链接到本地函数,如下所示:
exports.testAlert = global.testAlert;
是否可以在单个 JS 文件中创建可用于任何 XML 页面的事件处理程序?可能保存在 app.js 文件中?
或者如果所有的全局函数都在它自己的文件中,比如 global-functions.js 然后包含在我需要的地方?
除此之外,我知道您还可以在 JS 文件中添加事件处理程序。现在我不介意这种方法,如果它可以在全球范围内使用吗?
所以最终我希望能够创建全局函数和变量,然后我可以在我的应用程序的任何地方使用它们。
任何帮助将不胜感激。
【问题讨论】:
标签: javascript android xml nativescript