Выберите внутри ng-repeat с помощью ng-options и ng-model - PullRequest
0 голосов
/ 15 апреля 2020

Доброе утро,

Надеюсь, что у всех была отличная Пасха,

Прежде чем я начну, хочу отметить, что это разрабатывается в выпуске ServiceNow Orlando, он использует AngularJS 1.6.10

Я застрял на хитром куске кода, который не могу понять правильно, я использую ng-repeat для создания каталога аппаратных устройств, в данном случае это ноутбуков, мы добавили кнопку, которая позволяет людям быстро добавлять устройство в корзину, теперь мы хотим добавить поле количества, чтобы можно было добавлять несколько устройств одновременно, я установил, что оно работает, но AngularJS добавляет пустая ячейка в начале, мне нужно установить значение по умолчанию равным 1, я сделал это, но это сломало опыт корзины, поскольку каждый добавленный в корзину элемент равен 1 независимо от того, какое количество выбрано.

так что это большая часть кода html, который также включает в себя ng-repeat, который собирает аппаратные устройства, я использую опции ng, которые, кажется, все рекомендуют, много читал в Stack Overflow.

Проблема в ng-модели, так как она установлена ​​в $ scope.items [0], она никогда не обновляется, я смотрю на getterSetter, но в данный момент очень много думаю о ней, не могу заставить ее работать.

image

Контроллер:

$scope.items = [{
    id: 1,
    label: '1'
}, {
    id: 2,
    label: '2'
}, {
    id: 3,
    label: '3'
}];

$scope.selected = $scope.items[0];

Как это все выглядит:

Поэтому я выбрал «3» на ноутбуке Performance P C, но если вы посмотрите на журнал консоли справа, вы увидите, что добавленная стоимость равна 1.

Изображение для отображения добавленной стоимости в корзину

Позор действительно, я был доволен пустая ячейка, но это то, что хотел бы клиент, я знаю, что я могу обновить пустую ячейку с помощью некоторого текста, но они действительно хотели бы, чтобы по умолчанию она была равна 1.

Любые предложения, и я был бы благодарен,

Скучающая панда

1 Ответ

0 голосов
/ 17 апреля 2020

Замена ng-if на ng-show решила мою проблему, потеряли дни, пытаясь это выяснить, а также разработали более простое решение с увеличением числа

Код здесь:

<input type="number" value="1" min="1" max="20" step="1" ng-model="items_increment" title="Quantity" ng-show="item.u_show_quantity_button == 'true'"/>

$scope.items_increment = 1;

Надеюсь, это поможет другому человеку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...