我在弄清楚如何使它们一起工作时遇到了一些困难。这是我想做的事情:
该模型是使用 $resource 从其余 API 获取的:
var itemResource = $resource('http://blabla.com/items/:id');
$scope.item = itemResource.get({id: '12345'});
返回的项目有一些字段,其中一个数组字段列出了类别的 id:
{
"item_name: "some value",
"categories": ["cat_id1", "cat_id7", "cat_id8"]
}
在 UI 中,我希望这些类别显示为可编辑的多选。用户不应该使用 id 进行操作,而是应该看到并能够选择来自应用程序内映射的字符串表示。所以在html中:
<input type"text" ui-select2="categoryOptions" ng-model="item.categories" />
并且在控制器中:
var categoryMapping = [
{id: "cat_id1", text: "CategoryAlpha"},
...
{id: "cat_id8", text: "CategoryOmega"},
...
];
$scope.categoryOptions = {
'multiple': true,
'placeholder': 'Chose categories',
'width': 'element',
'data': categoryMapping,
};
显然,上面的代码段不起作用,我不知道如何让它们工作来做我想做的事。ui-select2 希望模型(item.categories)是一个对象数组 {id, text} 并且我希望它只存储数据库中项目的 id 并将映射分开。我不能是第一个这样做的,必须有解决方案,请帮助。
谢谢