【问题标题】:NativeScript Public/Global FunctionsNativeScript 公共/全局函数
【发布时间】:2016-04-14 07:41:14
【问题描述】:

示例代码:

exports.toggleSideDrawer = function() {
  frameModule.topmost().getViewById("sideDrawer").toggleDrawerState();
}

如何在不将toggleSideDrawer 写入每个代码隐藏文件中的情况下使用它?

例如,我有页面 A 和 B,在这两个页面中,都有 tap="toggleSideDrawer"

简而言之,使其可用于应用中的所有视图/页面。

【问题讨论】:

    标签: nativescript


    【解决方案1】:

    你可以在 app.js 中使用全局

    例如

    在 app.js 中

    var application = require("application");
    
    global.myGuide = 'John Smith';
    global.backToMain = function() {
      global.require('ui/frame').topmost().navigate({
    	moduleName: "main-page"
      });
    };
    
    application.start({ moduleName: "main-page" });

    然后在您的任何代码隐藏文件中,您可以像这样调用全局变量/方法

    var name = global.myGuide;
    global.backToMain();
     

    【讨论】:

    • 感谢@nick-iliev,它可以工作,但是为了在代码隐藏文件上调用它,我需要将它包装在exports 中,如果没有,它将引发TypeError Cannot read property bla bla bla..
    • 嗨,我知道这是旧的,但我似乎无法获得我的 app.js 文件中的全局函数的结果,我拥有的是:exports.global.arrNoticias = function () { my http.getJSON request..then 我返回结果})...然后在我的另一个页面上,您如何通过全局函数访问该结果?
    猜你喜欢
    • 1970-01-01
    • 2013-11-06
    • 2018-04-07
    • 1970-01-01
    • 2020-12-04
    • 1970-01-01
    • 2015-10-08
    • 2011-08-12
    • 1970-01-01
    相关资源
    最近更新 更多