jsfiddleng-model все изменения все сразу
Hi.
У меня проблема с моим приложением. Я должен написать несколько выборок, используя ng-repeat, и каждый из этих выборок должен быть заполнен теми же данными.
Проблема в том, что когда один из них изменен, другие выбирают изменения одного и того же значения - почему ?.
Я полагаю, что проблема в ng-модели - возможно, я не понимаю, как работает «иерархия» ng-модели.
- Если имя ng-модели является только «опцией» - это не работает!
- Если имя ng-модели «something.option» - это также не !
- Если имя ng-модели - «something.else.option» - оно работает , но все выборки заполнены!
HTML:
<div ng-controller="MyCtrl">
<div ng-if="models" ng-repeat="m in models">
<br><label>{{m.model}} ({{m.no}})</label><br>
<select ng-model="models.m.opModel" ng-options="opt.value as opt.text for opt in options" ng-change="foo()"></select>
</div>
</div>
JS:
var myApp = angular.module('myApp',[]);
function MyCtrl($scope) {
$scope.models = [
{'no':'A', 'model':'alpha'},
{'no':'B', 'model':'beta'},
{'no':'C', 'model':'gamma'}
];
$scope.options = [
{'value':1, 'text':'one'},
{'value':2, 'text':'two'},
{'value':3, 'text':'three'}
];
$scope.foo = function(){
alert($scope.models.m.opModel);
}
}
Что я делаю неправильно?
Большое спасибо.
Измените 'models.m.opmodel' на' model.m.opmodel'. В вашей демонстрации вы привязываете все избранные к одной и той же модели с помощью 'models', где вы хотите, чтобы они были уникальными для каждой модели. –
Не работает. Когда я меняю его, функция 'foo()' не вызывается ... – user3700786
'$ scope.models.m' не определен. – Shomz