Próbuję stąd wyciągnąć zmienne.
<option ng-repeat="n in hp(20,25,30,40,50,75,100)">{{n}}</option>
lub z wnętrza $ scope
$scope.featured = [
{"hp": "20,25,30,40,50,75,100"}
];
wolałbym używać zakresu do zdefiniowania z zasięgiem i wyświetlać go jako, że mam więcej niż jeden z nich
<select>
<option>{{content.hp}}</option>
</select>
problem jednak polega na tym, że kiedy napisałem zakres w taki sposób, w jaki go mam, dostaję błędy. Istnieje sposób, aby zdefiniować więcej niż jedną opcję hp dla listy rozwijanej
Odpowiedzi:
1 dla odpowiedzi № 1W obecnej formie, hp
jest ciągiem, ale naprawdę szukasz tablicy.
Rozważ następujące:
Model
$scope.featured = {
hp: [20, 25, 30, 40, 50, 75, 100]
};
widok
<option ng-repeat="n in featured.hp">{{n}}</option>
Jednak prawdopodobnie najlepiej jest używać ng-options
Atrybut ngOptions może być używany do dynamicznego generowania listy elementów dla elementu przy użyciu tablicy lub obiektu uzyskanego przez ocenę wyrażenia rozumienia ngOptions.
0 dla odpowiedzi nr 2
Możesz użyć ng-options
dyrektywa dla rodzica <select>
element. Z dokumentów kątowych:
Atrybut ngOptions może być używany do dynamicznego generowania listy elementów dla elementu za pomocą tablicy lub obiektu uzyskanego przez ocenę wyrażenia rozumienia ngOptions
więc jeśli zdefiniujesz strukturę danych w swoim zakresie, możesz użyć ng-options
dyrektywy, aby dynamicznie generować listę opcji dla ciebie zamiast ng-repeat. Daje to również większą kontrolę nad wartością opcji w porównaniu z wartością ostatecznie związaną z twoją ng-model
dla <select>
.
0 dla odpowiedzi № 3
ng-options
byłby pomocny dla twojej potrzeby. Poprostu dodaj ng-model
dzięki czemu doda do tego wybraną wartość ng-model
zmienna wewnątrz zakresu.
<select ng-options="h in content.hp" ng-model="value"></select>