Sono stato occupato con questo per un po 'di tempo e non ho trovato una soluzione. Il problema è che voglio che il mio modulo sia compilato con Require JS e Vue/Vuex per comunicare con il mondo esterno.Metodo o evento Access Vue dall'esterno dell'app Vue
Non voglio utilizzare questo
require(["myModule"],function(vm){
vm.$children[0].myMethod()
});
o jquery
// inside app
$(document).trigger("myEvent",payload);
// outside app
$(document).on("myEvent",myHandler);
Questo è il mio personalizzato Elemento
<div id="app">
<customer-select></customer-select>
</div>
e le mie main.js. Sto usando requirejs per caricare i miei moduli AMD
define(["./app2/app"], function (CustomerSelectApp) {
CustomerSelectApp.init("#app");
});
miei app.js
define([ "vue", "jquery", "webjars/nm-customer-select/nm-customer-select",
"css!bootstrap-css" ],
function(Vue, $, customerSelect) {
return {
init : function(targetElement) {
return new Vue({
el : targetElement,
components : {
customerSelect : customerSelect
}
});
}
};
});
C'è un modo per rendere l'applicazione/componente di comunicare con il mondo esterno attraverso un evento o un riferimento che Passo?
In particolare. Voglio fare una selezione nel mio Vue app e lasciare che un altro App sulla stessa pagina sapere su di esso un ricevere i dati selezionati per elaborare ulteriormente
Forse è un po 'tardi, ma che ne dici di usare un po' di memoria come mediatore? qualcosa come sessionStorage o localStorage? il problema è che dovrai continuare a controllare la memoria locale per vedere se ci sono dati, quindi potresti creare una funzione di Window globale e chiamarla all'interno del tuo componente con window.readData o qualcosa del genere. –