0

それぞれがフロント アクスルまたはリア アクスルのいずれかの Type プロパティを持つ、axleTypes の選択リストがあります。「Front」と「Rear」の重複する単語を除外できないようです。

ここに画像の説明を入力

アップデート:

HTML:

<select ng-model="axleType.Type" ng-options="type for type in uniqueTypes">  

コントローラ:

    $scope.axleTypes = API.GetAxleTypes();

    $scope.fixedAxleTypes = [
    { "$id": "1", "Description": "I beam, telescopic type shock absorbers", "Type": "Front", "Id": 1 },
    { "$id": "2", "Description": "Full-floating banjo housing", "Type": "Rear", "Id": 2 },
    { "$id": "3", "Description": "Something Else", "Type": "Rear", "Id": 2 },
    { "$id": "4", "Description": "I beam, telescopic type shock absorbers", "Type": "Front", "Id": 4 }
    ];

    // This Works
    $scope.uniqueTypes = _.uniq(_.pluck($scope.fixedAxleTypes, 'Type'));

    // This does not
    //$scope.uniqueTypes = _.uniq(_.pluck($scope.axleTypes, 'Type'));

    // This does not
    //$scope.uniqueTypes = _.uniq(_.pluck(API.GetAxleTypes(), 'Type'));

私は完全に混乱しています。そして、はい、API は動作します 。Chrome > Network>Response ウィンドウから上記のデータをコピーして貼り付けました。

4

2 に答える 2

0

編集で追加したエラーを見ると、その理由は、コメントで説明したものであると確信しています。これは、(axleType.Type)式を評価できないコンテキストでのフィルターの式の使用です。フィルタの実装では式を使用していないので、式を完全に省略できます。

于 2013-03-20T23:38:22.213 に答える
0

私が推測するのはAPI.GetAxleTypes();、呼び出しのようないくつかの非同期タスクを実行する必要があるということ$httpです。その場合、$scope.axleTypes探している配列タイプにはなりません。は、GetAxleTypesこれに似たものに見えることがあります。

サービス定義:

{
   uniqueaxleTypes:[],
   GetAxleTypes = function($http,..){
     var promise = $http({
       //config
     })
     promise.then(function(response){
       this.uniqueaxleTypes = _.uniq(_.pluck(response.data, 'Type'));
     })
   }
}

次に、スコープ変数をこれuniqueaxleTypesにバインドすると、常に一意の値が反映されます。

$scope.fixedAxleTypesはハードコードされた値であるため、正常に機能します。

于 2013-03-21T02:43:30.643 に答える