ホームページ > 記事 > ウェブフロントエンド > データ ソースに明示的な value プロパティがない場合、AngularJS の ng-options でオプション値を設定するにはどうすればよいですか?
多くの開発者は、ng-options を使用するときに value プロパティを設定する際に困難に直面しています。 AngularJS のディレクティブ。この問題を解決するための包括的な説明は次のとおりです。
ng-options ディレクティブを使用すると、
ng-options="{expression_for_value} as {expression_for_label} for {expression_for_items_in_source}
この例では、「resultOptions」は次の構文を含むオブジェクトの配列です。 "value" プロパティと "text" プロパティの両方を使用するには、次の構文を使用します:
ng-options="obj.value as obj.text for obj in resultOptions"
これにより、対応するオプションとして "obj.value" が生成されます。
Update: AngularJS の新しいバージョンでは、「track by」式を使用して値を明示的に定義できます:
ng-options="obj.text for obj in array track by obj.value"
構文の理解:
Python のリスト内包表記と類似した構文を作成します。以下の Python の例では、「x2」値は選択された値を表し、リスト内の値は表示されたラベルを表します。
my_list = [x**2 for x in [1, 2, 3, 4, 5]] > [1, 4, 9, 16, 25]
AngularJS の選択オプションでは、コードロジックの「値」と表示目的の「テキスト」を区別します。ここで、「as」キーワードが役に立ちます。
person.id as person.name for person in people
この例では、「person.id」は選択された値を表し、「person.name」は表示されるラベルを表します。同様に、JavaScript オブジェクトの場合は、「(key, value)」ペアを使用して項目を分解します。
これらのニュアンスを理解することで、AngularJS の ng-options でオプション値を効果的に設定できます。
以上がデータ ソースに明示的な value プロパティがない場合、AngularJS の ng-options でオプション値を設定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。