如何在导出函数中引用变量?

时间:2014-10-27 14:12:37

标签: titanium titanium-mobile appcelerator appcelerator-mobile

新手问题:我在exports函数中定义了一堆变量,例如:

var movies;

function Tabs(Window) {
    //create module instance
    var self = Ti.UI.createTabGroup({
        activeTabIconTint: '#F4CA53',
        tabsBackgroundColor: '#000000'
    });

     movies = Ti.UI.createTableView({
        data: movieData,
    });

  return self;
}

module.exports = Tabs;

然后在另一个js文件中,包含在范围内,我试图引用该电影变量(tableview)。我尝试了不同的东西,没有任何作用:

movies.setData(movieData);
Tabs.movies.setData(movieData);

如何更新"数据"电影的属性" tableview当我在" Tabs"之外功能

2 个答案:

答案 0 :(得分:0)

你不能将它传递给标签功能吗?

function Tabs(Window, movieData) {
    //create module instance
    var self = Ti.UI.createTabGroup({
        activeTabIconTint: '#F4CA53',
        tabsBackgroundColor: '#000000'
    });

     movies = Ti.UI.createTableView({
        data: movieData,
    });

  return self;
}

module.exports = Tabs;

//then call it like:
Tabs(window, movieData);

答案 1 :(得分:0)

var movies;

function _getMovies() { return movies; }

function _setMovies(_value) { movies = _value; }

function _Tabs(Window) {
    //create module instance
    var self = Ti.UI.createTabGroup({
        activeTabIconTint: '#F4CA53',
        tabsBackgroundColor: '#000000'
    });

     movies = Ti.UI.createTableView({
        data: movieData,
    });

  return self;
}

module.exports = {
    Tabs : _Tabs,
    getMovies : _getMovies,
    setMovies : _setMovies,
}

然后需要标签文件

var myTab = require('myTab);

myTab.Tabs(aWindow)

var localMovies = myTab.getMovies();