选择加载以前的数据- AngularJS
bs-select loading previous data - AngularJS
我使用AngularStrap
来选择选项,并在其中面临一些问题。
场景:
对于用户a,购物车条目为0。
对于用户b,购物车的物品为1。
最初在加载用户A的select时,select中的选项将为空,但在加载用户B的选项(即1项)并重新加载用户A的select后,它将在选项中获取用户B的购物车项。
下面是代码:
<select id="cartSelect" ng-model="user.cartId" ng-options="c.id as c.name for c in cartItems" bs-select class="select"></select>
What I Tried:
我尝试在加载购物车之前将cartItems重置为空数组。
$scope.cartItems = [];
我在控制台检查cartItems,它显示0。
但是它仍然在加载选项字段与其他用户的购物车项目。
在使用select而不是bs-select,它工作得很好。
我是否可以重置选择或修复此问题?
谢谢!
请提供更多细节,如jsFiddle。我可以提出两种可能的解决方案。
- 尝试在设置数组后添加$scope.$apply()。可能你修改了角生命周期外的值而角不知道修改。所以只要使用apply让angular知道它。
- 你没有在$scope下修改任何东西,任何模型都应该在$scope下。在您使用
var cartItems = [];
的情况下,正确的方法是定义$scope.cartItems
并使用它。
它们可能不起作用,你应该总是发布更多的细节,比如你的整个控制器代码或相关代码。
找到解决方案:
问题是select
不知道所做的更改,所以我不得不手动刷新选择ng-options
。例如
我必须加上
$('#cartSelect').selectpicker('refresh');
当model(cartItems)在控制器中发生变化时,
相关文章:
- AngularJs指令,该指令创建内部有数据对象的新指令
- 从键值结构中获取数据,并将其与AngularJS中ng重复的值进行比较
- 如何放置'选择'基于angularJS中数据的html选项
- AngularJS-需要在index.html页面中访问来自服务的数据
- AngularJS加载JSON数据,然后从中解析/加载HTML
- 如何通过所选索引(AngularJS)在模态弹出窗口中显示数据
- 使用angularjs中的rest调用通过id获取数据
- 使用AngularJs时,如何在img标记具有src-attr时设置数据src
- OnsenUI AngularJS数据绑定无法正常工作
- 使用服务(AngularJS)在控制器之间共享数据
- AngularJS中的页面之间共享数据返回空
- 在条形图中呈现数据AngularJS,如何制作一个好的多条形图
- 访问Protractor/E2E测试中的$http数据(AngularJS)
- 模板不呈现重新加载的数据:AngularJS
- 如何缓存登录数据AngularJS
- 在视图中使用值的响应数据(AngularJS)
- 选择加载以前的数据- AngularJS
- 以ng-repeat模式编辑和保存数据- AngularJS
- 获取数据 angularjs 直接发送回 javascript 函数
- 过滤对象数据angularjs