En son web geliştirme öğreticiler
 

AngularJS seç Kutular


Angularjs Bir dizide veya bir nesnede öğelere göre açılır listeler oluşturmanızı sağlar.


ng-seçenekleri kullanarak bir Seç Kutusu Oluşturma

Eğer bir nesne veya angularjs bir dizide dayalı bir açılan liste oluşturmak istiyorsanız, kullanmanız gereken ng-option yönergesi:

Örnek

<div ng-app="myApp" ng-controller="myCtrl">

<select ng-model="selectedName" ng-options="x for x in names">
</select>

</div>

<script>
var app = angular. module('myApp', []) ;
app. controller('myCtrl', function($scope) {
    $scope.names = ["Emil", "Tobias" , "Linus"];
});
</script>
Kendin dene "

ng-tekrarı vs ng-seçenekleri

Ayrıca kullanabilirsiniz ng-repeat Aynı açılır listesini yapmak için yönergesi:

Örnek

<select>
<option ng-repeat="x in names">{{x}}</option>
</select>
Kendin dene "

Çünkü ng-repeat yönergesi Bir dizide her öğe için HTML kod bloğunu tekrarlar, bir açılır listede seçenekler oluşturmak için kullanılabilir, ancak ng-options yönergesi özellikle seçenekleri içeren bir açılır liste doldurmak için yapılmış ve vardır en az bir önemli avantajı:

Ile yapılan açılır listesini ng-options yapılmış DROPDOWNS ise, seçilen değer bir amacı olmasını sağlar ng-repeat bir dize olmak zorundadır.

Ne kullanıyor musunuz?

Eğer nesneler dizisi var varsayalım:

$scope.cars = [
    {model : "Ford Mustang", color : "red"},
    {model : "Fiat 500", color : "white"},
    {model : "Volvo XC90", color : "black"}
];

ng-repeat yönergesi, seçilen değer bir dize olmalıdır 's sınırlamaları vardır:

Örnek

Kullanma ng-repeat :

<select ng-model="selectedCar">
<option ng-repeat="x in cars" value="{{x.model}}">{{x.model}}</option>
</select>

<h1>You selected: {{selectedCar}}</h1>
Kendin dene "

Kullanırken ng-options yönergesi, seçilen değer bir nesne olabilir:

Örnek

Kullanılması ng-options :

<select ng-model="selectedCar" ng-options="x.model for x in cars">
</select>

<h1>You selected: {{selectedCar.model}}</h1>
<p>It's color is: {{selectedCar.color}}</p>
Kendin dene "

Seçilen değer bir nesne olabilir, bu daha fazla bilgi tutabilir ve başvurunuzun daha esnek olabilir.

Biz kullanacağız ng-options Bu eğitimde yönergeyi.


bir nesne olarak Veri Kaynağı

Önceki örneklerde veri kaynağı, bir dizi, ama aynı zamanda bir nesne kullanabilir.

Eğer anahtar değeri çiftleri ile bir nesne olması varsayalım:

$scope.cars = {
    car01 : "Ford",
    car02 : "Fiat",
    car03 : "Volvo"
};

Içinde ifade ng-options özniteliği nesneler için biraz farklıdır:

Örnek

Veri kaynağı olarak bir nesne kullanılarak, x anahtarı temsil eder ve y değeri temsil eder:

<select ng-model="selectedCar" ng-options=" x for (x, y) in cars ">
</select>

<h1>You selected: {{selectedCar}}</h1>
Kendin dene "

Seçilen değeri her zaman bir anahtar değer çifti değeri olacaktır.

Bir anahtar değer çiftinde değeri de bir nesne olabilir:

Örnek

Seçilen değeri hala bir anahtar değer çifti değeri olacaktır, ancak bu kez bir amacıdır:

$scope.cars = {
car01 : {brand : "Ford", model : "Mustang", color : "red"},
car02 : {brand : "Fiat", model : "500", color : "white"},
car03 : {brand : "Volvo", model : "XC90", color : "black"}
};
Kendin dene "

Anahtar-değeri çifti anahtarı olmak zorunda değildir açılır listedeki seçenekler, aynı zamanda değeri veya değer nesnesinin bir özelliği olabilir:

Örnek

<select ng-model="selectedCar" ng-options=" y.brand for (x, y) in cars">
</select>
Kendin dene "