mik*_*keb 9 javascript angularjs angularjs-ng-options angularjs-track-by
我有这个角度选择:
<select ng-model='obj.status' ng-options='status.code as (status.code + " " + status.phrase) for status in status_codes.data track by status.code'>`
Run Code Online (Sandbox Code Playgroud)
我$scope.status_codes
是这样的:
data: [
{
"code":"100",
"phrase":"...",
"spec_title":"RFC7231#6.2",
"spec_href":"http://tools.ietf.org/html/rfc7231#section-6.2"
}
...
]
Run Code Online (Sandbox Code Playgroud)
$scope.obj.status
当我更改我的选择时,我的更新为"300"或"100"或其他任何内容,但选择的显示始终为空白.因此,模型更新为选择输入的选定值,但输入未显示当前选定的值,它显示空白项.
如果我改变ng-options是ng-options='status as (status.code ...'
有效的,但我只想在我的模型中使用status.code,而不是整个状态数组.是什么赋予了?
我{{obj | json }}
在我的HTML和记载:
obj = {
"name": "",
"description": "",
"payload": "",
"status": "200",
"responseHeaders": {
"entry": [
{
"key": "",
"value": ""
},
{
"key": "",
"value": ""
}
]
}
}
Run Code Online (Sandbox Code Playgroud)
删除曲目.
来自Docs:
在同一表达式中使用select as和track by时要小心.
我最好的猜测是as使用正常值,如"300",但track by使用的是类型值,如"int:300".删除一个或另一个应该这样做,最好是轨道.
他们以此为例:
这将有效:
<select ng-options="item as item.label for item in items track by item.id" ng-model="selected"></select>
Run Code Online (Sandbox Code Playgroud)
但这不起作用:
<select ng-options="item.subItem as item.label for item in items track by item.id" ng-model="selected"></select>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4589 次 |
最近记录: |