为了账号安全,请及时绑定邮箱和手机立即绑定

使用 ng-options 和 ng-model 选择 ng-repeat 内部

使用 ng-options 和 ng-model 选择 ng-repeat 内部

九州编程 2023-12-25 17:18:31
在开始之前,我想指出这是在 ServiceNow Orlando 版本中开发的,它使用 AngularJS 1.6.10我陷入了一段棘手的代码,无法正确执行,我正在使用 ng-repeat 构建硬件设备目录,在本例中是笔记本电脑,我们添加了一个按钮,可以快速让人们将设备添加到购物车,我们现在想要添加一个数量字段,以便可以同时添加多个设备,我得到了它,但 AngularJS 在开头添加了一个空单元格,我需要将其设置为默认值1,我确实做到了这一点,但它破坏了购物车体验,因为无论选择多少数量,添加到购物车的每个商品都是 1。这是大部分 html 代码,其中还包括构建硬件设备的 ng-repeat,我正在使用每个人似乎都推荐的 ng-options,在 Stack Overflow 上阅读了很多内容。问题是 ng-model,因为它被设置为 $scope.items[0] 它永远不会更新,我一直在研究 getterSetter 但目前非常难以理解,无法让它工作。控制器:$scope.items = [{     id: 1,     label: '1' }, {     id: 2,     label: '2' }, {     id: 3,     label: '3' }]; $scope.selected = $scope.items[0];一切看起来像什么:因此,我在高性能 PC 笔记本电脑上选择了“3”,但如果您查看右侧的控制台日志,您可以看到添加的值是 1。显示添加到购物车的图片真的很遗憾,我对空单元格很满意,但这正是客户想要的,我知道我可以用一些文本更新空单元格,但他们真的希望它默认为 1。任何建议,我将不胜感激,无聊的熊猫
查看完整描述

1 回答

?
倚天杖

TA贡献1828条经验 获得超3个赞

用 ng-show 替换 ng-if 解决了我的问题,尝试解决这个问题花了几天时间,还开发了一个带有数字增量的更简单的解决方案


代码在这里:


<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;

希望它可以帮助另一个人。


查看完整回答
反对 回复 2023-12-25
  • 1 回答
  • 0 关注
  • 92 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信