Angular关于$scope保存数据的简写



这样的东西有什么简写吗?

 var data = 
 {
    name: $scope.admin.name,
    email: $scope.admin.email,
    roles: $scope.admin.roles
 };

通常在我查询和输入模型之后,我可以这样使用:

 $scope.admin = {
     name: value1,
     email: value2,
     roles: value3
 }

编辑:我确切的问题在var数据我怎么能使它更简单像上面没有保持键入"$scope.admin"。

谢谢

如果您不想使用angular.copy()进行深度复制,但只想在代码中输入更少的符号,您可以使用

var x = $scope.admin;
var data = 
{
    name: x.name,
    email: x.email,
    roles: x.roles
};

如果你需要复制所有的属性,使用angular.copy:

angular.copy($scope.admin, $scope.user)

如果您需要选择属性的子集,那么lodash之类的库可能会很有用。您将使用pick函数:
$scope.admin = {
    firstname: 'John',
    name: 'Doe',
    email: 'john@mycompany.com',
    roles: ['sysadmin']
};
$scope.user = _.pick($scope.admin, ['name', 'email', 'roles']);
// -> {name: 'Doe', email: 'john@mycompany.com', roles: ['sysadmin']}

最新更新