Angularjs 控制器/服务,使用相同的用户对象进行注册

Angularjs 控制器/服务,使用相同的用户对象进行注册,angularjs,ionic-framework,registration,Angularjs,Ionic Framework,Registration,抱歉,Angular.JS/JS/Ionic是一个新手,我们一直在使用此登录控制器,并负责创建一个注册控制器+服务。关于如何使用$scope.data中的信息作为变量(即userObj),可以在其他控制器/服务中使用。**编辑 控制器: .controller('LoginCtrl', function($scope, LoginService, $ionicPopup, $state) { $scope.data = {}; $scope.login = function() {

抱歉,Angular.JS/JS/Ionic是一个新手,我们一直在使用此登录控制器,并负责创建一个注册控制器+服务。关于如何使用$scope.data中的信息作为变量(即userObj),可以在其他控制器/服务中使用。**编辑

控制器:

.controller('LoginCtrl', function($scope, LoginService, $ionicPopup, $state) {
  $scope.data = {};

  $scope.login = function() {
    LoginService.loginUser($scope.data.username, $scope.data.password).success(function(data) {
      $state.go('tab.dash');
    }).error(function(data) {
      var alertPopup = $ionicPopup.alert({
        title: 'Login failed!',
        template: 'Please check your credentials',
        okType: 'button-assertive', // String (default: 'button-positive'). The type of the OK button.
      });
    });
  }
})
服务:

.service('LoginService', function($q) {
    return {
      loginUser: function(uName, uPass) {
        var deferred = $q.defer();
        var promise = deferred.promise;

        if (uName == 'user' && uPass == 'secret') { <!-- some def values which are user and secret -->
          deferred.resolve('Welcome ' + uName + '!');
        } else {
          deferred.reject('Wrong credentials.');
        }
        promise.success = function(fn) {
          promise.then(fn);
          return promise;
        };
        promise.error = function(fn) {
          promise.then(null, fn);

      return promise;
        };
        return promise;
      }
    }
  })
.service('LoginService',函数($q){
返回{
登录用户:函数(uName、uPass){
var deferred=$q.deferred();
var承诺=延期承诺;
如果(uName='user'&&uPass=='secret'){
延迟。解决('Welcome'+uName+'!');
}否则{
延迟。拒绝(“错误的凭证”);
}
承诺。成功=功能(fn){
承诺。然后(fn);
回报承诺;
};
promise.error=函数(fn){
承诺。然后(无效,fn);
回报承诺;
};
回报承诺;
}
}
})

您能更具体地说明问题吗?为什么你认为这是不优化的?您的控制器不处理任何复杂的逻辑。您所做的编辑并没有真正阐明您想要了解的内容<代码>$scope不是真正的“共享”,但服务是;您提到了“控制器+服务”,但您没有显示服务的代码,您只显示了对该服务上单个方法的调用。据推测,如果该服务将与其他控制器共享数据,它将以某种方式保存数据本身……是的,我编辑了这篇文章,类似于此