このフィルタを使用する際に問題が発生しました。
$scope.imgCollection.then(function (images) {
$scope.images = images.thisGal_images;
if ($scope.images[0].order == '0') {
console.log('orgName');
$scope.images = $filter('orderBy')($scope.images, 'orgName');
} else {
console.log('sort order');
$scope.images = $filter('orderBy')($scope.images, 'sortOrder');
console.log($scope.images);
}
});
$ scope.imagesは、データベースから画像のリストを返します。最初のアップロード時には、sortOrder列にはui:sortableを使用してソートできるため、「0」が設定されます。最初のビューでは、ソート順をファイル名に基づいています。最初のビューの後にDBが書き込まれ、最初のイメージにはsortOrderが1で与えられ、そこからインクリメントされます。
これは私の誤解で$ filterですが、$scope.images = $filter('orderBy')($scope.images,'sortOrder');
はsortOrderに基づいて$ scope.imagesを注文していません。
おかげ
どのようにそれはあなたのイメージを注文されましたか?正確に何が起こっているのですか、何が起こりたいですか?あなたは小さな例を挙げることができますか? –
'sortOrder'の型は何ですか?文字列かint? – zsong
@sza、ありがとう - INT – Bungdaddy