将选项值设置为数组
Posted
技术标签:
【中文标题】将选项值设置为数组【英文标题】:set option value as array 【发布时间】:2015-08-24 20:04:45 【问题描述】:设置一些权限。我希望能够将我的 item.roles 设置为数组。这可能吗?如果不是,那么让我的 item.roles 模型最终成为一个数组的最聪明的方法是什么?
<select class="form-control" ng-model="item.roles" ng-init="item.roles[0]='client'">
<option value="[super, admin, producer, resource, client]">Super</option>
<option value="[admin, producer, resource, client]">Admin</option>
<option value="[producer, resource, client]">Producer</option>
<option value="[resource, client]">Resource</option>
<option value="[client]">Client</option>
</select>
【问题讨论】:
您应该在控制器中定义这些数组值。 您应该在控制器中创建一个映射,其中键是角色,值是具有角色的数组。 你能举个例子吗?我是地图新手 【参考方案1】:你可以使用ngList指令:
<select class="form-control" ng-list ng-model="item.roles" ng-init="item.roles=['client']">
<option value="super, admin, producer, resource, client">Super</option>
<option value="admin, producer, resource, client">Admin</option>
<option value="producer, resource, client">Producer</option>
<option value="resource, client">Resource</option>
<option value="client">Client</option>
</select>
注意,在这种情况下,选项值是逗号分隔的列表(或者您可以更改分隔符)。
ngList
指令用于将分隔的值列表转换为数组:
在分隔字符串和字符串数组之间转换的文本输入。默认分隔符是一个逗号后跟一个空格 - 相当于 ng-list=", "。您可以将自定义分隔符指定为 ngList 属性的值 - 例如,ng-list=" | "。
演示: http://plnkr.co/edit/TbkEne7ap4WpCS4UPj7U?p=preview
【讨论】:
以上是关于将选项值设置为数组的主要内容,如果未能解决你的问题,请参考以下文章