有这样的简写吗?
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"。
由于
答案 0 :(得分:1)
如果您需要复制所有属性,请使用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']}
答案 1 :(得分:1)
如果您不想使用angular.copy()
进行深层复制,但只想在代码中键入较少的符号,则可以
var x = $scope.admin;
var data =
{
name: x.name,
email: x.email,
roles: x.roles
};