2015-05-12 6 views
0

У меня есть 2 отдельных файлы RequireJS модуль, как показано нижеДекларирования зависимости внутри модуля RequireJS

В моем MainViewModel.js, я

myFilters.init(myFilterPanelViewModel); 

на страницах/myFilters.js, у меня есть

define(['viewModels/myFilterPanelViewModel'], 
    function(myFilterPanelViewModel) { 
     var myFilters = { 
      "init": function(myFilterPanelViewModel){ 

      } 
     }; 
     return myFilters; 


}); 

Мой вопрос: я вызываю метод init из MainViewModel.js, передавая экземпляр myFilterPanelViewModel

Итак, в моем модуле myFilters.js, должен ли он быть объявлен как зависимость, или поскольку я передаю myFilterPanelViewModel для функции init, то же самое не требуется объявлять как зависимость внутри myFilters.js?

+0

Если я правильно понял ваш вопрос: нет, в myFilters.js не требуется зависимость 'viewModels/myFilterPanelViewModel', потому что только значение, переданное как параметр' init', окажется видимым (предложение: улучшите свою стратегию именования , не используйте одно и то же имя переменной для двух разных вещей) – kryger

ответ

0

В коде, который вы показываете в вашем вопросе вы действительно можете опустить 'viewModels/myFilterPanelViewModel' зависимости и ваш код должен работать нормально, при условии, что вы называете init функцию со значением, которое является точно таким же, как модуль загружен с зависимостью 'viewModels/myFilterPanelViewModel'.

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