2014-02-28 3 views
0

Я новичок в Meteor, я не смог найти достаточного ответа на этот вопрос, но как сделать программную обработку ссылок на обработчики событий Template.Meteor Dynamic Template Events

Например, я хотел бы добавить или обновить или инициировать событие, определенное в шаблоне, без фактического примера (нажатие или нажатие кнопки).

В объекте Template я вижу объект событий ниже и могу ли я получить к нему доступ, но это правильный путь?

Template.myTemplate._tmpl_data.events []

Спасибо!

ответ

1

Вы можете определить обработчик за пределами карты событий и назвать его как функцию:

someHandler = function(this, evt,tpl) { 
    // do something with this, evt, and tpl 
} 

Template.myTemplate.events({ 
    'click .myButton': function(event,template) { 
    var self = this; 
    return someHandler(self, event,template); 
    } 
}); 

// Call someHandler whereever you want passing in whichever args you want 

Это не полный пример, но должен быть в состоянии получить вы собираетесь на какой-то работоспособной направлении. Если это сработает, отредактируйте этот ответ, чтобы отобразить более полный пример.

+0

Я действительно не понимаю это решение, если я вызову someHandler сам контекст будет отсутствовать. Самый простой способ - использовать jquery, например, вызвать событие click. Я надеялся найти что-то для динамического доступа и/или создания событий шаблона в тех же строках, которые я могу динамически создавать и получать доступ к новым шаблонам ... PLS ссылается на ссылку ниже: [Динамические шаблоны] (http://stackoverflow.com/questions/13550775/how-to-compile-new-templates-at-runtime-in-meteor? rq = 1) http://stackoverflow.com/questions/13550775/how-to-compile-new-templates-at -runtime-in-meteor? rq = 1 – ryeo

+1

Вы можете использовать функции событий без их контекста, чтобы вы могли контролировать это внутри функции и просто запускать контекстно-зависимую версию. Фактически вы можете использовать jQuery в качестве ваших селекторов в шаблоне. Но я думаю, вы пытаетесь сделать что-то еще, что не так ясно для меня. Вы имеете в виду запуск самого события или обработчика событий? Мой пример был для обработчика. Если вы просто хотите инициировать событие (например, щелчок), вы можете просто использовать простой jquery, и это также будет обработано с помощью определения обработчика события. –

+0

Хорошо .. Я понимаю. Я пытаюсь интегрировать PubNub в свое приложение Meteor и на основе некоторого сообщения pubnub запускает событие шаблона ..... спасибо, это дало мне несколько идей! – ryeo

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