Как могут работать ng-параметры без контроллера? - PullRequest
0 голосов
/ 02 мая 2019

У меня есть массив строк ['One', 'Two', 'Three'], которые я хотел бы использовать в качестве тегов <option> в моем компоненте Angular. Я не хочу использовать контроллер. Я просто хочу использовать ng-options. Как это работает?

В компоненте у меня есть объявления переменных:

array: String[] = ['One', 'Two', 'Three'];
selectedString: String = 'Two';

А в HTML-файле компонента есть:

<div [ngClass]="setClasses()">
    <select id="testCodeSelect" name="testCodeSelect" ng-model="selectedCode">
        <option *ngFor="let code of codes" value="code.alphabetic">{{ code.alphabetic }}</option>
    </select>
    <select id="codeSelect" name="codeSelect" ng-model="selectedString" ng-options="test as test in array"></select>
</div>

Вещи, которые не работают:

<select id="codeSelect" name="codeSelect" ng-model="selectedString" ng-options="test for test in array"></select>
<select id="codeSelect" name="codeSelect" ng-model="selectedString" ng-options="test as test for test in array"></select>
<select id="codeSelect" name="codeSelect" ng-model="selectedString" ng-options="item for item in ['One', 'Two', 'Three']"></select>

1 Ответ

0 голосов
/ 02 мая 2019

Похоже, вы просили что-то вроде - `

<select ng-init="colors = [{ name:'1', shade: '1s' },{ name:'2', shade: '2s' },{ name:'3', shade: '3s' }]" ng-model="myColor" ng-options="color.shade for color in colors"></select>

<select ng-init="colors = ['one','two', 'three']" ng-model="myColor" ng-options="color for color in colors"></select>


<select ng-model="myColor" ng-options="color for color in ['one','two', 'three']"></select>

`

Happy Coding!

...