JSFiddle - React, Tailwind, and code Playground
HTML
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.4/angular.min.js"></script>
<div ng-app="myApp" ng-controller="carController">
<select ng-options="value as desc for (desc, value) in carOptions" ng-model="currentObject.car"></select>
<br />
<br />
car {{currentObject.car}} for index {{currentObject.index}}
<br />
<br />
<button ng-click="loadFirst()">load first</button>
<button ng-click="nextObject(currentObject.index)">next</button>
</div>
JavaScript
var myApp = angular.module('myApp', []);
myApp.controller('carController', [ '$scope', function ($scope) {
$scope.carOptions = {
"red car": 1,
"blue car": 2,
"green car": 3,
"orange car": 4
};
$scope.myObjects = [];
for (var i = 1; i < Object.keys($scope.carOptions).length + 1; i++) {
$scope.myObjects.push(
{
car: i,
index: i
}
);
}
$scope.currentObject = {};
$scope.loadFirst = function () {
// Change this to load $scope.myObjects[0] to see the issue.
$scope.currentObject = $scope.myObjects[0];
};
$scope.nextObject = function (i) {
$scope.currentObject = $scope.myObjects[i];
};
}]);