LINUX.ORG.RU

Вопросы по MarionetteJS

 ,


0

1

Здравствуйте. Недавно начал изучать marionetteJS. До этого активно работал с ExtJS. У меня появилось пару вопросов.

1)Можно ли делать так - выполнять для всех hash-tags один метод в контроллере (типа как единая точка входа), а дальше в нем уже в зависимости от пути выполнять свой метод, а перед ним выполнять некоторые действия (всевозможные проверки к примеру). Как считаете, оправдан такой подход или нет? Я к примеру минус вижу лишь в том, что все параметры придется парсить из урла вручную.

2)Если у нас есть привязка view к модели:

exampleMVC.mainNavLayout = Backbone.Marionette.ItemView.extend({
      template: '#template-mainNav',
      templateHelpers: function() {
          return {
              _managementClass: this.model.get('managementClass')
          }
      },
      initialize: function() {
          this.model = new Backbone.Model({
              managementClass: ""
          }); 
      }
});

с шаблоном

<script type="text/html" id="template-mainNav">
    <div class="container white-text">
        <ul class="main-menu">
            <li data-action="cashdesks">
                <a class="<%= _managementClass %>" href="/#main/management" data-text="Управление">Управление</a>
            </li>
        </ul>
    </div>
</script>

То если изменить в модели св-во managementClass и соотв-но переменная _managementClass будет изменена, чтоб увидеть изменения нужно отрендерить вью:

var view = new exampleMVC.mainNavLayout();
view().render();
view.model.set('mainManagement', 'active');
view.render();

Но если я заново отрендерю view, и на ней будут какие-либо элементы формы (текстовые поля и тд), вся инфа введенная пользователем обнулится. Можно ли как-либо отрендерить заново не всю вьюху а лишь некоторые ее элементы?

Большая просьба наставить меня на путь истинный)

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.