1

すべてを連携させる方法を理解するのに苦労しています。これが私がやりたいことです:

モデルは残りの API から $resource を使用してフェッチされます。

var itemResource = $resource('http://blabla.com/items/:id');
$scope.item = itemResource.get({id: '12345'});

返されたアイテムにはいくつかのフィールドがあり、その中にはカテゴリの ID をリストする 1 つの配列フィールドがあります。

{
   "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