このマップはスコープ内にあります:$scope.graphEventsAndFields
です。その内部のオブジェクトは次のようになります:{'event_name': ['field1', 'field2', ...]}
(キーはイベント名で、その値はそのイベントのフィールドの配列です2つの選択入力をバインドし、それぞれの初期値を設定する方法
私は次のことを達成したいと思います:イベントのタイプを変更すると、それに応じて使用可能なフィールドが変更されます。また、デフォルトでは、イベント入力でマップの最初のキーが選択され、フィールド入力が選択されています。 。
フロントエンド:
0123。上記のイベントのための最初のフィールドは、これらの入力の下には、つもり今まで、私はこのコードを持っている2つの選択値を持つ関数を呼び出す必要があり、検索ボタンが表示されます私は、(キー、値)繰り返しの場合、forループはデフォルトで値を追跡することがわかりました。だから、コントローラの私のコードは次のように見えた:
let firstKey = Object.keys($scope.graphEventsAndFields)[0];
$scope.selectedEventForSearch = $scope.graphEventsAndFields[firstKey];
しかし、これが唯一のイベント入力と、実際になりますselectedEventForSearch変数のデフォルト値を選択し、検索関数が呼び出される配列(キー)。私が"key for (key, value) in graphEventsAndFields track by key"
のようなものを試してコントローラに$scope.selectedEventForSearch = firstKey
を設定しても動作しないと、デフォルト値は選択されません。
私には何が欠けていますか?オブジェクトのフォーマットを変更するか(複数のキーを持つオブジェクトの代わりにオブジェクトの配列を持つなど)。私はこの構造で説明したことを達成することはできますか? (好ましくは)。ありがとう!
'firstKey'の値は何ですか?この行を親切に削除して 'ng-init ="を確認してください。selectedFieldForSearch = selectedEventForSearch [0] "' –
最初のキーの値はどういう意味ですか?それは文字列です。 {"phishing":["cluster_id"、 "brands"]、 "auth":["ec_insert_date"、 "origin_ip"]}のようになります。 – Adi
私は行を削除した、私はそれを忘れて、私はそれが動作すると思った。 – Adi