На коленке набросал.
Что-то вроде такого (
DEMO).
angular.module('toster', [])
.controller('DemoCtrl', function() {
var vm = this;
vm.type = 'fruits';
vm.types = ['fruits', 'vegetables'];
vm.fruits = ['apple', 'orange', 'banana'];
vm.vegetables = ['potato', 'tomato', 'cucumber'];
});
<body ng-controller="DemoCtrl as demo">
<div>
<select ng-model="demo.type" ng-options="type as type for type in demo.types">
</select>
<p>
Selected: <span ng-bind="demo.type"></span>
</p>
</div>
<div>
<select ng-model="demo.value" ng-options="item as item for item in demo[demo.type]">
</select>
<p>
Selected: <span ng-bind="demo.value"></span>
</p>
</div>
</body>