AngularJS は ng-Options にインデックスを追加するソリューションを実装します

高洛峰
リリース: 2016-12-07 17:00:03
オリジナル
1710 人が閲覧しました

この記事の例では、AngularJS が ng-Options にインデックスを追加するソリューションについて説明します。参考までに皆さんと共有してください。詳細は次のとおりです:

Angularjs 交換グループの子供が、Angular js の ng-Repeat のような Angular select の ng-Options にインデックス $index を追加する方法を尋ねました。

実際、これについては問題点 Angular自体は使用する$indexなどの変数を提供していないと言われています。しかし、それは私たちがこの問題に対する解決策を持っていないという意味ではありません。

この問題を大局的に考えると、必要なのは js 配列の添字だけなので、オブジェクトに添字を追加し、式をオプションのラベルとして使用できれば、問題は解決できます。

しかし、第一印象は、js配列は元々キー/値オブジェクトであることを思い出させますが、キーは配列の添字であるため、次の設計になっています:

html:

<pre class="brush:php;toolbar:false">{{ a | json }}
ログイン後にコピー


js :

$scope.getDesc1 = function(key, value) {
  return (parseInt(key, 10) + 1) + "->" + value.field;
};
ログイン後にコピー


しかし、残念ながら、これを JavaScript のキー/値オブジェクトとして使用すると、キーは順序付けされないため、順序付けされていない添え字は次のように表示されます。解決しました。幸いなことに、ブロガーには別のトリックがあります。ngOptions は Angularjs フィルターをサポートしているため、データ ソース オブジェクトに順序フィールドを追加して添え字をシリアル番号としてマークできます。 2 年前の Angular の問題を見ると、Angular が問題を修正しており、このオプションにより添字順に配列が生成されることがわかります。

html:

<select ng-model="a" ng-options="l.field as getDesc1(key,value) for (key,value) in t "
 class="ng-valid ng-dirty">
 <option value="0" >1->jw_companyTalent</option>
 <option value="1" >2->jw_reportgroup</option>
 <option value="10" >11->jw_ads</option>
 <option value="11" >12->jw_jobcomment</option>
 <option value="12" >13->jw_companyInfo</option>
 ....
</select>
ログイン後にコピー


js:

<pre class="brush:php;toolbar:false">{{ b | json }}
ログイン後にコピー


順番に選択肢が生成され、最終的に完璧に解けたのでこの記事は終わります。最後に、実行可能な demoplnkr ngOptions インデックスが添付されています。

上記は、ng-Options にインデックスを追加する AngularJS のソリューションの内容です。詳細については、PHP 中国語 Web サイト (www.php.cn) を参照してください。 !


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!