我有一个选择菜单如下:
<select ng-model="selected_event_type.event_type"
ng-options="event_type.name for event_type in events.event_type_views">
<option value="">Event type</option>
</select>
我还有以下单独的选择菜单:
<select ng-model="current_event"
ng-options="event.event_id for event in current_level.events.event"
ng-change="currentEventChanged()">
</select>
第一个选择菜单按预期工作。在第二个选择菜单的 currentEventChanged() 方法中,我更改了 selected_event_type.event_type 的值,但第一个选择菜单没有更新以反映这一点,我不知道为什么。
以下是我的控制器的相关代码:
$scope.selected_event_type = {
event_type: null
};
$scope.events = {
event_type_views: [
{name: 'Collision', partial: 'views/events/collision.html'},
{name: 'Boundary', partial: 'views/events/boundary.html'},
{name: 'Timer', partial: 'views/events/timer.html'},
{name: 'Input', partial: 'views/events/input.html'}
]
}
$scope.currentEventChanged = function () {
var current_event_type;
var current_event_partial;
for (var key in $scope.current_event.event_type) {
current_event_type = key.charAt(0).toUpperCase() + key.slice(1);
}
current_event_partial = 'views/events/' + current_event_type + '.html';
$scope.selected_event_type = {
event_type: {
name: current_event_type,
partial: current_event_partial
}
};
};