【发布时间】:2020-05-16 02:30:16
【问题描述】:
见这个例子:https://stackblitz.com/edit/angularjs-xnrrot?file=home%2Fhome.html 当我更改下拉列表时,该值将显示为 number:1。 当我在 home.html 中删除 ng-model 时,显示的值将不带“number:”。 请解释一下好吗?
【问题讨论】:
见这个例子:https://stackblitz.com/edit/angularjs-xnrrot?file=home%2Fhome.html 当我更改下拉列表时,该值将显示为 number:1。 当我在 home.html 中删除 ng-model 时,显示的值将不带“number:”。 请解释一下好吗?
【问题讨论】:
发生这种情况是因为 ng-model 返回带有 数据类型 的值。因此,当您添加 ng-model 时,您将获得 number:1
例如
<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 。
发生这种情况是因为名称的数据类型是字符串。同样,当你设置 ng-value="option.id" 时,它会给你 number:1 因为 ID 的数据类型是 number
希望您对解释感到满意。
【讨论】: