Возможным решением является создание общего контекста, который обновляется и используется обоими шаблонами:
import /where / context.js
export const Shared = {
ArgSearch: ArgSearch,
}
templates \ pages \ search \ search.js
import {Shared} from 'imports/somewhere/context.js'
Template.Search.events({
"keyup #searchFormInput": _.throttle((e, tmpl) => {
let text = $(e.target).val().trim();
console.log(text);
if (text.length)
Shared.ArgSearch.search(text);
}, 200)
});
Template.Search.helpers({
'getResults' () {
return Shared.ArgSearch.getData({});
}
});
templates \ shared \ nav \ navbar.js
import {Shared} from 'imports/somewhere/context.js'
Template.Topnavright.events({
someHelpers () {
return Shared.ArgSearch.getData({});
}
});
Примечание,что вы также можете делиться экземплярами ReactiveVar
или ReactiveDict
с общим контекстом, который действует немного как Session
, но в ограниченной области.