JavascriptMVC пользовательские события - PullRequest
1 голос
/ 11 июля 2011

Я недавно экспериментировал с основными частями Javascript MVC, а пока с битом MC.

Когда я запускаю пользовательское событие из модели, например.this.publish ( 'инициализирован');в документации указано, что «короткое имя модели будет автоматически иметь префикс».Однако всякий раз, когда это событие публикуется, оно, похоже, использует свойство _shortName, которое всегда является «моделью», а не именем класса, запускающего событие.

, поэтому у меня всегда есть событие model.initialised вместо, например,Data.initialised с данными, являющимися названием модели, и это то, что я хочу.

Я могу видеть в исходном коде, где это происходит.В статических методах определения jQuery.Model есть следующее:

publish: function( event, data ) {          
    if ( window.OpenAjax ) {
        OpenAjax.hub.publish(this._shortName + "." + event, data);
    }
},

Я мог бы удалить подчеркивание выше, и он делает то, что я хочу (и что он должен делать?), Так как this.shortName содержит правильноеназвание модели, но оно определенно не подходит.

Мое приложение, казалось, правильно публиковало события, прежде чем я обновил jquery с 1.4.x до 1.5.x (у меня нет выбора, какую версию jquery я используюявляясь частью большой организации) и насколько я могу понять, openAjax не доступен для 1.4.x.Так что я думаю, что из-за этого изменения механизм, который javascript MVC использует для публикации / публикации, отличается.Есть идеи, что я делаю не так?Может опубликовать более конкретный код, если это необходимо.

любая помощь очень ценится

...