-1

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オブジェクトに設定されているプロパティにきれいな方法でアクセスする方法はありますか? 私のファイルにはこのコードの繰り返しがたくさんあり、このようなプロパティにアクセスするためのより賢い方法を見つけたいと思っています。invoiceisEditOpenoperations

変数 var を定義し、この値が必要なときにoperations = $scope.operationsプロパティにアクセス できることはわかってoperations.isEditOpenいますが、スコープからすべてのオブジェクトの変数を作成したくないので、もっと単純なものが必要です。

スコープに設定されている変数から必要なプロパティ値を返すことができるfunctionwith 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;
    };

しかし、これは良いアプローチですか?

4

1 に答える 1