Update Observables value in an Observable

Hi guys,
I have a js file that contain my application global var such as the user Observable which contains Observables name,email, profilePicture…
I have defined it like the syntax in the Docs
(globalVar.js file)

    var Observable = require("FuseJS/Observable");
    var user = Observable(
        { name: Observable() },
        { email: Observable() },
        { lastname: Observable() },
        { country: Observable() },
        { city: Observable() },
        { phoneNumber: Observable() },
        { profilePicture: Observable() }
        );
module.exports = {
	user:user
};

but when i try to update user properties in other pages it doesn’t work
(login.js file)

var globalVar=require('js/globalVar');
globalVar.user.value.name.value=json.patient.name;
globalVar.user.value.email.value=json.patient.email;
globalVar.user.value.city.value=json.patient.city;
globalVar.user.value.country.value=json.patient.country;

when i have changed the declaration Syntax the update works perfectly :slight_smile:
(globalVar.js file)

var user=Observable(
	     {email:Observable() ,
         name: Observable() ,
        lastname: Observable(),
        city:Observable(),
        country:Observable(),
        phoneNumber:Observable(),
        profilePicture:Observable()
        });

In which docs did you find the first syntax? It is definitely not correct. :slight_smile:

https://www.fusetools.com/docs/fuse/reactive/databinding_1

<JavaScript>
    var Observable = require("FuseJS/Observable");
    var data = Observable(
        { name: Observable("Hubert") },
        { name: Observable("Marjory") });
    module.exports = {
        data: data
    };
</JavaScript>

That code is for an entirely different use case, where you want to have a list of objects with the same type (for instance to iterate over them in an Each).

In the first case (your first post) you need one object with different properties, that’s why the 2nd way of declaring it is correct.