Angular 1.x:data-ng-repeat中对象的属性被设置为字符串,而不是对象



我正在尝试将option字段的值设置为另一个 JSON 对象中的 JSON 对象,例如。catalogue里面attribute.catalogue.问题是它被保存为看起来像 JSON 对象的String

我认为这与选项value字段的限制有关。我可以以某种方式调整我的代码,以便将值存储为 JSON 对象而不是字符串吗?

这是代码:

<div class="col-sm-3">
<select ng-model="attribute.catalogue" ng-change="showScope()">
<option data-ng-repeat="catalogue in catalogueObjects"
value="{{catalogue}}">{{catalogue.name}}</option>
</select>
</div>

在一般的html中,attribute只能存储string值。在角度世界中ng-options指令确实提供了在选择选项时使用分配对象的能力。

<select ng-model="attribute.catalogue" ng-change="showScope()"
data-ng-options="catalogue as catalogue.name for catalogue in catalogueObjects">
</select>

参考

  • https://docs.angularjs.org/api/ng/directive/ngOptions

最新更新