ngResource を使用して API からいくつかのオブジェクトを取得し、それらをテーブルに表示します。それはわかりました.. angular-xeditableを使用して「タグ」属性を編集可能にしようとすると問題が発生しますが、文字列として扱われ、angular-xeditableに「ngList」のようなものはありません。私が考えることができる唯一の解決策は、サービスの「tags」属性を「tagsString」にシリアル化し、$save() が呼び出されたらシリアル化を解除することです..もっとエレガントな解決策はありますか?
物体:
{
"id": "yP8",
"uploadDate": "2012-10-03T12:52:59-0300",
"statusChangeDate": "2012-10-03T12:52:59-0300",
"status": 0,
"type": 1,
"mimeType": "JPEG",
"title": "title-36868",
"tags": [
'some-tag',
'fancy-tag'
],
"language": "en",
"interactions": {
"likes": 12371,
"dislikes": 15,
"comments": 81
},
"published": true
}
コントローラ:
app.controller( 'ContentsCtrl', function CommentsCtrl( $scope, Contents ) {
$scope.contents = Contents.query();
});
テンプレート:
<tr ng:repeat="content in contents.content">
<td>{{content.id}}</td>
<td ng:click="content.images.showFull=!content.images.showFull">
<img src="{{content.images.thumbnail.url}}" ng:show="!content.images.showFull">
<img src="{{content.images.medium.url}}" ng:show="content.images.showFull">
</td>
<td>{{content.status}}</td>
<td>
<span editable-text="content.title" e-required>{{content.title}}</span>
</td>
<td>
<span editable-text="content.tags">{{content.tags}}</span>
</td>
<td>{{content.language}}</td>
</tr>
編集:
デモ (Sebastian Gärtner による): http://plnkr.co/edit/ttPNgHXUZKmaJZ9IuB2N?p=preview