JavaScript « Использование объекта в качестве значения в ng-options

У меня есть массив с данными:

$scope.sourceList = [
        {
            value : 'forex',
            name  : 'Курсы валют',
            link  : 'link'
        },
        {
            value : 'weather',
            name  : 'Погода',
            link  : 'link'
        },
        {
            value : 'news',
            name  : 'Новости',
            link  : 'link'
        }
    ];


Есть select следующего вида:

<select ng-model="widget.source"
        ng-change="changeSource()"
        ng-options="object.name for object in sourceList">
</select>


Когда я выбираю элемент из списка, в widget.source корректно попадает объект:

Object {value: "news", name: "Новости", link: "link"}


Я это успешно сохраняю на сервер. Но когда я загружаю данные с сервера, и присваиваю widget.source сохраненный объект, то в select у меня выбрана пустая строка. В чем может быть дело?

1 ответов


Необходимо использовать следующий синтаксис:

<select ng-model="widget.source"
        ng-change="changeSource()"
        ng-options="object.name for object in sourceList track by object.value">
 </select>