2014-02-28 52 views
-1

我有一個下拉列表(即html選擇+選項)。如何根據給定的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; 
}); 
相關問題