2013-09-13 9 views
0

Я работаю над проектом, написанным с использованием Require.js. Существует множество повторно используемых функций, которые в настоящее время вызываются из глобальной области. Эти функции включают в себя переходы ui, hide/show и общие события наведения. Я хочу, чтобы эти функции выполнялись прямо, чтобы требовать, но не совсем уверен, где и как их включить.Require.js и многократно используемые функции пользовательского интерфейса

Например, скажем, в приложении есть несколько точек, которые могут вызывать общую функцию showDropdown(). И, допустим, для анимации требуется jQuery. Где и как было бы наилучшим местом для хранения функции showDropdown?

Say простая функция, как:

function showDropdown(id) { 
    var thisdropdown = $(id).find('.dropdown'); 
    $(thisdropdown).slideDown(); 
} 

я мог бы создать папку UI, с различными функциями JS все являющихся их собственный файл. Затем просто требуйте их для любых других файлов, которые зависят от них. Но независимо от того, эти файлы должны будут экспортировать свою функцию в глобальную область, чтобы быть доступной правильно?

Я чувствую, что есть очевидный ответ/настройка, поскольку это должен быть довольно общий элемент.

Кроме того, я пишу это в базовом приложении, но я не считаю, что это имеет прямое влияние, более вопрос require.js.

ответ

3

Создать util библиотеку или что-то подобное:

// util.js 

define({ 
    showDropdown: function(id) { 
     var thisdropdown = $(id).find('.dropdown'); 
     thisdropdown.slideDown(); 
    }  
}); 

Затем использовать его в другом месте:

require(['util'], function(util) { 

    util.showDropdown('my-id'); 

}); 
+0

Brilliant, спасибо. Я знал, что это должно быть прямо. Естественно, кроме того, вы могли бы определить зависимости 'define (['jquery'], {' так, как мне нужно. –

Смежные вопросы