为什么Angular ng-options值包含值数据类型?

Ast*_*stm 6 angularjs angularjs-directive angularjs-ng-options

我使用了angular指令ng-options后的人得到了这个结果

<select name="users" id="users" ng-options="user.id as user.name for user in users" ng-model="user">
    <option value="number:1" label="Developers">Ahmed</option>
    <option value="number:2" label="Designers">Jon</option>
    <option value="number:3" label="HR">Astm</option>
    <option value="number:4" label="Doctor">Fady</option>
</select>


<select name="colors" id="colors" ng-options="color.code as color.name for color in colors" ng-model="color">
    <option value="string:ff0000" label="Developers">Red</option>
    <option value="string:ffffff" label="Designers">White</option>
    <option value="string:000000" label="HR">Black</option>
</select>
Run Code Online (Sandbox Code Playgroud)

为什么选项值包含数字类型,如 数字:1字符串:ffffff ??

我如何从中删除数据类型并仅保留值?

Dav*_*vor 5

添加track by [id]结尾ng-options.

在你的情况下,它将是:

ng-options="user.id as user.name for user in users track by user.id"
Run Code Online (Sandbox Code Playgroud)

ng-options="color.code as color.name for color in colors track by color.code"
Run Code Online (Sandbox Code Playgroud)


小智 0

目前,角度中没有选项可以删除该类型。如果您需要,请使用以 ng-option 作为父级的自定义指令。