Это происходит потому, что ng-model
возвращает значение вместе с ним тип данных . Поэтому вы получаете number:1
, когда добавляете ng-model
Например
<select id="s1" ng-model="$ctrl.personId">
<option ng-repeat="option in $ctrl.persons" ng-value="option.name">{{option.name}}</option>
</select>
<div id="output"></div>
В приведенном выше примере, если вы даете ng-value="option.name"
вместо ng-value="option.id"
тогда вы получите вывод string: Alice .
Это происходит потому, что тип имени name - строка. И то же самое, когда вы установите ng-value="option.id"
, это даст вам number:1
, потому что тип данных ID равен number
Надеюсь, вы удовлетворены объяснением.