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
変数 var を定義し、この値が必要なときにoperations = $scope.operations
プロパティにアクセス できることはわかってoperations.isEditOpen
いますが、スコープからすべてのオブジェクトの変数を作成したくないので、もっと単純なものが必要です。
スコープに設定されている変数から必要なプロパティ値を返すことができるfunction
with two 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;
};
しかし、これは良いアプローチですか?