Bonjour à tous,

Je suis en train de développer une petite bibliothèque de gestion de données en Javascript.

Je me retrouve comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
var dataService = {
    customer : function() {
        this.m_id = 0;
        this.m_first_name = "";
        this.m_last_name = "";
        this.m_vehicle_id = "";
    },
    vehicle : function() {
        this.m_id = 0;
        this.m_brand = "";
        this.m_model = "";
    },
    m_vehicles : [],
    m_customers : []
}
Ce que j'aimerais, c'est faire une fonction dans la class "customer" permettant d'aller chercher son véhicule, mais aussi de conserver son association afin de ne pas effectuer de nouveau la recherche :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
    customer : function() {
        ...
        this.m_vehicle = null;
        this.getVehicle() = function() {
            if(this.m_vehicle == null)
               for(var i in dataService.m_vehicles)
                   if(dataService.m_vehicles[i].m_id == this.m_vehicle_id) {
                       this.m_vehicle = dataService.m_vechiles[i];
                       break;
                   }
 
            return this.m_vehicle;
        }
    }
(je ne suis pas sûr de la syntaxe, mais pour le moment ça n'est pas important)

Ensuite, ce que j'aimerais, c'est pouvoir utiliser ces données via des "property path", par exemple "Customer.m_vehicle.m_brand".

Mais est-il possible de faire en sorte que lorsque l'on appelle la propriété "m_vehicle", ça redirige vers la fonction "getVehicle()" qui effectura l'association automatiquement avant de renvoyer le véhicule trouvé ?

Merci à vous,
A bientôt