Ответ 1
Итак, в вашем плунжере было 2 вещи.
Во-первых, атрибуту btn-radio
не требуется интерполяция ({{}}
), вы можете (и должны) предоставлять выражение напрямую. Поэтому просто напишите btn-radio="company.id"
вместо btn-radio="{{company.id}}"
.
Во-вторых, вы должны знать, что директива ng-repeat
создает новую область. Это очень, очень общая концептуальная проблема, с которой люди сталкиваются с AngularJS, поэтому я бы посоветовал вам читать https://github.com/angular/angular.js/wiki/The-Nuances-of-Scope-Prototypal-Inheritance
Возвращаясь к конкретной проблеме, вы можете либо изменить ваше выражение ng-model, чтобы указать на родительскую область (ng-model="$parent.radioModel"
), либо привязать к свойству объекта (ng-model="radioModel.id"
).
Вот рабочий план со вторым подходом: http://plnkr.co/edit/uGAxaRlPFK6sD4tRjGXX?p=preview