我想在 java 脚本文件中访问相同的变量属性,但由于属性太多,代码看起来有点难看。我有下一个代码:
$scope.invoice = new Invoice();
$scope.operations = {
editingLine: {},
isNewLine: false,
isEditOpen: false
};
$scope.modify = function (invoiceLine) {
if ($scope.operations.isEditOpen) return;
let originalLine = $scope.invoice.invoiceLines.find(line => line.id = invoiceLine.id);
tempLine = angular.copy(originalLine);
$scope.operations.editingLine[invoiceLine.id] = true;
$scope.operations.isEditOpen = true;
};
有什么方法可以访问invoiceLine
对象上设置的invoice
属性,或者以更清洁的方式isEditOpen
访问对象上设置的属性operations
?我的文件中有很多重复此代码,我想找到一种更简洁的方法来访问这样的属性。
我知道我可以定义一个变量 varoperations = $scope.operations
并在需要此值时访问该属性 operations.isEditOpen
,但我仍然想要更简单的东西,因为我不想为范围内的所有对象创建变量。
有什么方法可以创建一个function
带有两个params
( objectFromScope, neededProperty
) 的函数,它可以从范围上设置的变量返回所需的属性值?或者当我想从作用域访问对象属性时,有没有更好的方法来没有这么多代码?
PS:我也可以这样做:
let editingLine = $scope.operations.editingLine;
let isNewLine = $scope.operations.isNewLine;
let isEditOpen = $scope.operations.isEditOpen;
$scope.modify = function (invoiceLine) {
if (isEditOpen) return;
let originalLine = invoiceLines.find(line => line.id = invoiceLine.id);
tempLine = angular.copy(originalLine);
editingLine[invoiceLine.id] = true;
isEditOpen = true;
};
但这是一个好方法吗?