2014-11-08 5 views
0

Я работаю над тем, как сделать мой код более управляемым и читаемым в большом приложении. Я прочитал много сообщений и блогов о шаблоне модуля и шаблоне, раскрывая образец, но одна вещь, которая всегда кажется отсутствующей, - это страницы и привязки.Шаблон модуля Javascript - привязки страниц

Люди показывают примеры модулей, но я не нашел хороших реальных примеров работы.

Например, скажем, у меня есть страница, на которой есть калькулятор.

Все примеры, которые я видел, показывают калькулятор и как создать модуль для этого, но я ищу, как заставить страницу и калькулятор разговаривать друг с другом.

Создают ли люди модуль для каждой страницы, например; CalculatorPage, у них есть метод привязки или init, и внутри там они настраивают модуль калькулятора? Вот некоторые (недопустимые js), чтобы отсортировать изображение.

var Calculator 
    settings: { resultElement }, 
    add (x, y) function to add and set resultElement to 
    subtract (x,y) function to subtract and set resultElement to 

затем

var CalculatorPage 
    .... 
    bind (or init) = function() { 
    this.calculator = new Calculator(.results); 
    $('.add-button').on('click', this.calculator.add($('.x-field'.val(), $('.y-field').val()); 
    $('.subtract-button').on('click', this.calculator.subtract($('.x-field'.val(), $('.y-field'). 
  • Если каждая страница имеет модуль?
  • Более удобный способ борьбы со связями?

Если кто-то имел некоторые лучшие примеры модулей в/страниц реальных приложений я бы очень признателен ..

+0

Это действительно «сделай так, как хочешь», нет правильного ответа на этот вопрос. Вам нужен объект/модуль, который каким-то образом покрывает всю страницу, если это так, если нет, то нет! – adeneo

ответ

0

Я предполагаю, что речь здесь идет вокруг семантики «страницы». Если отображается только калькулятор JS, то вы можете с полным основанием назвать модуль «calculatorPage». Для меня, хотя слово «страница» относится к DOM. Лично я бы не стал связывать имена с сценарием, что это должно быть единственное, что на странице, если я не уверен, что это так, и хотел подчеркнуть это.

Настройка привязок - вопрос дизайна. Если вы используете только jQuery, вам нужно установить обработчики событий внутри готового обратного вызова DOM. Если вы хотите больше структуры MV *, тогда вы можете использовать фреймворк вроде AngularJS или Backbone и т. Д., Которые имеют свои собственные абстракции. В принципе, хотя это сводится к тому же, устанавливая прослушиватели событий, когда DOM готов.