Я недавно экспериментировал с основными частями 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 использует для публикации / публикации, отличается.Есть идеи, что я делаю не так?Может опубликовать более конкретный код, если это необходимо.
любая помощь очень ценится