gpt4 book ai didi

javascript - bs-select 加载以前的数据 - AngularJS

转载 作者:行者123 更新时间:2023-11-28 08:03:06 24 4
gpt4 key购买 nike

我正在使用 AngularStrap 来选择选项并面临一些问题。
场景:
对于用户 A. 购物车商品为零。
对于用户 B,购物车商品为 1。
最初加载用户 A 的选择时,选择中的选项将为空,但加载用户 B 的选项(即 1 项)并重新加载用户 A 选择后,它会在选项中获取用户 B 的购物车项目。
这是代码:

<select id="cartSelect" ng-model="user.cartId" ng-options="c.id as c.name for c in cartItems" bs-select class="select"></select>  

我尝试过的:
我尝试在加载购物车之前将 cartItems 重置为空数组。

$scope.cartItems = [];  

我在控制台中检查了 cartItems,它显示 0。
但它仍在加载其他用户的购物车项目的选项字段。
使用 select 而不是 bs-select 时,效果很好。

我可以重置选择或解决此问题吗?
谢谢!

最佳答案

请提供更多详细信息,例如 jsFiddle。我可以提出两种可能的解决方案。

  • 尝试在设置数组后添加 $scope.$apply() 。可能您在 Angular 生命周期之外修改了值,而 Angular 不知道修改。所以只需使用 apply 让 Angular 知道它即可。
  • 您不会修改 $scope 下的任何内容,任何模型都应位于 $scope 下。在您的情况下,您使用var cartItems = [];正确的方法是定义$scope.cartItems并使用它。

它们可能不起作用,您应该始终发布更多详细信息,例如整个 Controller 代码或相关代码。

关于javascript - bs-select 加载以前的数据 - AngularJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25132657/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com