Angular js megosztott adat nem frissül
Sziasztok!
Egy alkalmazást csinálok, és gondoltam kipróbálom az AngularJS-t.
Sajnos belefutottam egy problémába, amire nem találom a megoldást.
Van egy tabos ablakom, ahol az első tab-on egy teljesen más controller van, mint a többin. Sajnos az <ul><li> kötött kód felépítésétől nem tudok eltérni, így minden LI-n definiálnom kell, hogy az a USER controllerhez tartozik.
Azaz:Az adat megosztáshoz a factory-t használom. Teljesen jól működik. Ha gépelek valamit, akkor a másik fülön is láthatók a szükséges adatok.
Azonban, ha ajaxban le akarom lekérni egy adott user adatait, nem frissül a factory, így a többi fül sem. Csak az a fül -azaz az a kontroller, ahol a belépést intézem, frissül. Az újonnan lekért adatokat a többi fülön nem kapja meg a controller. :(
Íme a kód részlet:
itt
(nem működik, egyszerűsítve van, de jobban érthető mintha nem lenne)
Hogy tudnám frissíteni globálisan az adatokat?
■ Egy alkalmazást csinálok, és gondoltam kipróbálom az AngularJS-t.
Sajnos belefutottam egy problémába, amire nem találom a megoldást.
Van egy tabos ablakom, ahol az első tab-on egy teljesen más controller van, mint a többin. Sajnos az <ul><li> kötött kód felépítésétől nem tudok eltérni, így minden LI-n definiálnom kell, hogy az a USER controllerhez tartozik.
Azaz:
<li ng-controller="valami más">...</li>
<li ng-controller="user">
<button ng-click="adatlekeres()">Adatok</button>
adat csoport 1
</li>
<li ng-controller="user">adat csoport 2</li>
<li ng-controller="user">adat csoport 3</li>
Azonban, ha ajaxban le akarom lekérni egy adott user adatait, nem frissül a factory, így a többi fül sem. Csak az a fül -azaz az a kontroller, ahol a belépést intézem, frissül. Az újonnan lekért adatokat a többi fülön nem kapja meg a controller. :(
Íme a kód részlet:
itt
(nem működik, egyszerűsítve van, de jobban érthető mintha nem lenne)
Hogy tudnám frissíteni globálisan az adatokat?
Factory
próbáltam
Nem teljesen értem a háttér működését, de olyan mintha a jelenlegi megoldás linkelné a factory adathoz a controller adatait, az itteni megoldás meg csak "átadná", de nem köti össze.
De lehet valamit rosszul csináltam. Esetleg egy példát tudnál adni?
Ismét teszteltem
Ezért raktam be a angular.element($('#usercontroller')).scope().addUser(); részt, ami után frissül.
Van esetleg ötlet, hogy lehetne rávenni a controller clonokat, hogy maguktól frissítsenek?