getting and setting value in factory in angualrjs

后端 未结 6 1259
执笔经年
执笔经年 2020-12-12 04:40

This is my factory:

.factory(\'userService\',()){
  var user = {};
  return {

  getFirstname : function () {
    return user.firstname;
  },

  setFirstname         


        
6条回答
  •  天命终不由人
    2020-12-12 05:14

    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");
    }]);
    

提交回复
热议问题