В настоящее время я создаю виджет для сайта, который фактически является «конструктором сделок». В видже разработчика будет кнопка «добавить новый элемент», которая добавит новый элемент device
в список <li>
.Угловая функциональность «новая строка»
<ul class="deal-builder-devices entity">
<li ng-repeat="device in devices">
<div class="db-handset-image">
<span class="phone-silhouette" ng-hide="hideSilhouette"></span>
<img ng-repeat="image in modelImages" src="[[image]]" ng-hide="!hideSilhouette" />
</span>
</div>
<div class="db-device">
<ul class="opts">
<li>
<select ng-model="selectedManufacturer" ng-change="getManufacturerModels(selectedManufacturer)">
<option value="">Manufacturer</option>
<option ng-repeat="manufacturer in manufacturers" value="[[manufacturer.id]]">[[manufacturer.name]]</option>
</select>
</li>
<li>
<select ng-disabled="!models > 0" ng-model="selectedModel" ng-change="loadModelImage(selectedModel)">
<option value="">Model</option>
<option ng-repeat="model in models" value="[[model.id]]">[[model.model]]</option>
</select>
</li>
</ul>
</div>
</li>
</ul>
<div class="deal-builder-controls entity">
<button class="db-add-handset" ng-click="addDevice()"><i class="fa fa-plus-circle"></i> Add another handset</button>
<button class="db-find-deals">Find deals</button>
</div>
Вопрос, который я имею, что это дает Выбор параметров точно такую же модель, поэтому, если я изменю выбора опции в одном выпадающем списке, это изменит все вновь созданные выпадающие тоже. Как это исправить?
Это как $scope.addDevice();
в настоящее время работает:
$scope.devices = [0];
$scope.devicesCounter = 0;
$scope.addDevice = function() {
$scope.devicesCounter++;
$scope.devices.push($scope.devicesCounter);
}
При добавлении новых телефонов (3, например) и изменить выпадающее меню, они все изменения? – leaksterrr
@leaksterrr Я случайно не использовал 'angular.copy' внутри' addDevice'. Вы можете проверить плункер, теперь все в порядке. –