Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Marionette. View events - событие вешается дважды, click @ui.my_el - function 
V
    Опции темы
numerovan
Дата 8.1.2017, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 549
Регистрация: 1.12.2007

Репутация: нет
Всего: 2



Фреймворк Marionette (Backbone).
Почему когда создаю View, вешаю в events событие, то события накладываются поверх ... например:
Код

events: {
    'click @ui.my_el': 'my_fn'
}

 и при создании этого вида, поверх накладывается дополнительно это событие click?
Такое ощущение что данная view-ха остается, хотя она после затирается, при переходе на др. вкладки, другой view-хой.

Или там надо спец. отключать событие click ... если спец., то становится уже неудобно использовать данную технику.

Как я решил эту проблему сейчас, назначаю при событии render ... но так не очень красиво
Код


onRender: function(){
                        console.log('render');
                        
                        var that = this;
                        this.getUI('btnUpdate').on('click', function(){
                            that.write();
                        });
                        this.getUI('btnDelete').on('click', function(){
                            that.delete();
                        });
                    },


и вот вопрос мучает: почему по другому не гладко работает ...

PM MAIL   Вверх
numerovan
Дата 10.1.2017, 22:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 549
Регистрация: 1.12.2007

Репутация: нет
Всего: 2



Решил проблему, в общем лучше делать так:
записываем вьюху в фиксированную переменную
window.app.view.my = new MyView();

а после вызываем только ее и после работаем тольк с window.app.view.my
window.app.view.my.render()

если снова в нее записать объект
window.app.view.my = new MyView();

события, во этом объекте, будут вызываться столько раз сколько записывали новый объект.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Применение библиотек | Следующая тема »


 




[ Время генерации скрипта: 0.0954 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.