1

我在弄清楚如何使它们一起工作时遇到了一些困难。这是我想做的事情:

该模型是使用 $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 并将映射分开。我不能是第一个这样做的,必须有解决方案,请帮助。

谢谢

4

0 回答 0