This is my factory:
.factory(\'userService\',()){
var user = {};
return {
getFirstname : function () {
return user.firstname;
},
setFirstname
you should use $ watch so:
.factory('userService',()){
return {
user:{ 'firstname': 'defaultFirstname'},
getFirstname : function () {
return user.firstname;
},
setFirstname : function (firstname) {
user.firstname = firstname;
}
}
.controller('MainCtrl',['userService', function(userService){
$scope.userName = userService.getFirstname();
$scope.$watch('userService.user.firstname', function (newVal) {
$scope.userName = newVal;
});
}]);
.controller('AccountEditCtrl',['userService', function(userService){
userService.setFirstname("New First Name");
}]);