0

Novice вопрос: У меня есть куча переменных, определенных внутри функции экспорта, например:Как ссылаться на переменную внутри функции экспорта?

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, когда я вне функции «Вкладки»?

+0

попробуйте изменить 'module.exports = лапками;' 'с exports.Tabs = Tabs, и' exports.movies = фильмы; ' – turtle

ответ

0

Не можете ли вы просто передать его функции Tabs?

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); 
+0

Проблема заключается в том, что movieData необходимо менять многократно по жизненному циклу приложения, долго после того, как вкладки были созданы. Поэтому мне нужно вернуться назад и изменить movieData несколько раз, позже. Как это может быть сделано? – HerrimanCoder

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(); 
Смежные вопросы