2014-05-10 2 views
0

<select>routes.json 파일에 포함 된 모든 경로를 표시하려고합니다. 그러나, ng-option을 사용할 때 올바른 식을 계산할 수 없습니다.ng-options 수치식이 내 데이터와 작동하지 않습니다.

로드되는 데이터입니다. 그 경로의 목적지를 선택 상자에 넣고 싶습니다.

loaded data

HTML :

<label>Route: </label> <select ng-model = "selectBox2" ng-options="Route.destination for Route in data"> </select> 

컨트롤러 코드 :

kpsApp.controller('addMailItemController', function($scope,filefetch){ 
    $scope.price = 'priceless'; 

    filefetch.fetch().then(function(data){ 
     $scope.dataRoute = data; 
    }) 
}); 

편집

,363,210

Route.json :

{ 
    "Route": { 
     "objectId": "ObjectRef", 
     "origin": "Sydney", 
     "destination": "Rome", 
     "type": "Air", 
     "maxWeight":"5000", 
     "maxVolume":"29000", 
     "wieghtCost":"1000", 
     "volumeCost":"1000", 
     "duration": "18hrs", 
     "frequencyOfDeparture": "2 daily", 
     "day":"Thursday", 
     "company":"Transport Co.", 
     "weightPrice":"7", 
     "volumePrice":"5", 
     "priority": "International Air" 
    } 
} 

편집 2

fileFetch 방법

kpsApp.factory('filefetch', function($q, $timeout, $http) { 
    var getFile = { 
     fetch: function(callback) { 

      var deferred = $q.defer(); 

      $timeout(function() { 
       $http.get('../route.json').success(function(data) { 
        deferred.resolve(data); 
       }); 
      }, 30); 
      return deferred.promise; 
     } 
    }; 
    return getFile; 
}); 
+0

왜 dataRow입니까? 당신은 혼란 스러워요 작동 viceversa 단지 경로를 사용 –

+0

배열 데이터입니까? – adrichman

+0

데이터는 json 파일입니다. 스레드로 파일을 업데이트했습니다. – user2469515

답변

1

나는 이것이 당신이 원하는,하지만 내가 만든 Plunker을 확인했던 것과 않습니다 생각 확인하려면 :

이 부분으로 이해력 식을 끊으려면 :

datum.Route (select하는) 모델이 사용자의 선택에 따라 채워집니다 것입니다
datum.Route.destination AS
(label)는 사용자가 볼 수있는 값을 설정합니다.

데이터 용 (value) for/in 루프의 반복 변수로 생각할 수 있습니다 ... ngRoute 표현식 01의 첫 번째 부분과 비슷합니다 235,
dataRoute
IN 이 표현의 사용에 따라 매우 분명

(array) 소스 객체, 사용자의 범위 변수 selectBox2 우리가 그것을 설정하기 때문에 선택한 레코드의 전체 "경로"항목으로 채워 것 (select)를 표현의 첫 부분으로 사용합니다. 결과적으로보기에서 {{selectBox2.destination}}과 같은 속성에 대해 보간을 사용할 수 있습니다.

이 문서가 도움이 될 수 있습니다. Working with select using AngularJS's ng-options

+0

안녕하세요, 도움에 감사드립니다!그러나 로컬 JSON 파일을 사용할 때 작동하지 않지만 컨트롤러에 정적으로 파일이있을 때 작동합니다. 위의 데이터를 가져 오는 메소드를 게시했습니다. 어떻게 데이터를 반환 할 수 있습니까? – user2469515

+0

자세한 내용을 알지 못하면서 어떤 문제가 발생하는지 확실히 말할 수는 없지만 Plunker를 업데이트하여 불필요한 $ timeout을 사용하지 않도록했습니다. http://plnkr.co/edit/ DqCUrFbVTtI4KuyDn5Ox? p = preview –

+0

'data'는 배열로 reprenset되지 않으며 webstorm에서 디버깅 할 때 객체로만 reprenset됩니다. 내가 다른 경로에 추가하더라도 경로 중 하나만 보여줍니다. – user2469515

관련 문제