2014-02-28 1 views
-1

드롭 다운이 있습니다 (예 : html select + options).주어진 ngRoute를 기반으로 드롭 다운 옵션을 선택하는 방법은 무엇입니까?

"#/make/ROLLS ROYCE /"경로로 페이지를 다시로드하는 경우 드롭 다운을 사용하여 "ROLLS ROYCE"옵션을 미리 선택하려면 어떻게해야합니까?

var makes = ["ABARTH", "ALFA ROMEO", "ASTON MARTIN", "ROLLS ROYCE"] 
var homeApp = angular.module('homeApp', ['ngRoute']); 

homeApp.config(function ($interpolateProvider, $routeProvider) { 
    $routeProvider.when('/Make/:make', {controller: MakeModelCtrl, template:''}) 
    $routeProvider.otherwise({controller: MakeModelCtrl, template:''}) 
}); 

function MakeModelCtrl($scope, $location, $routeParams) { 
    console.log($scope, $location, $routeParams) 
} 

<form data-ng-controller="MakeModelCtrl"> 
<div> 
    <select data-ng-model="make" data-ng-options="make for make in makes"> 
     <option value="">Make</option> 
    </select> 
</div> 
</form> 
<div data-ng-view></div> 

경로를 사용하여,이 정도는 드롭 다운을 채울 것이며, 콘솔은 "{합니다"의 routeParam 표시됩니다 롤스 로이스를 "}". 옵션 값은 다양한 이름의 0..n입니다.

URL 매개 변수와 일치하도록 드롭 다운 옵션을 어떻게 가져 옵니까?
ngRoute를 사용해야합니까? 또는 위치?
더 좋은 방법이 있습니까?

답변

4

당신은 당신이 당신의 메이크업이 routeparams에 따라 설정할 수있는 경로 변경 성공 이벤트를 routeChangeSuccess MakeModelCtrl 점에서

를 볼 필요

$scope.$on('$routeChangeSuccess', function() { 
     $scope.make=$routeParams.make; 
}); 
관련 문제