Angular Scope对象不保留值并在HTML

时间:2016-10-21 06:12:45

标签: angularjs

我有一个简单的角度函数,我调用一个服务来获取数据并将它作为JS数组存储在Angular范围内。问题是范围对象中的数组在我的HTML中不可见。这里有一件事是我将我的视图重定向到另一个HTML,我不确定这是否是一个原因。

cart.items(localStorage.getItem('userEmail')).then(function(response){
    $.each(response.data, function(index, element) {
               $scope.vendorCartList.push(element);
    });
    $location.path('/vendorHome');                                  
})

当我在调试控制台中转储此范围数组$ scope.vendorCartList时,它会正确显示内容。 在我的HTML vendorHome.html中,我试图通过ng-repeat检索列表,它永远不会工作。我试图转储范围对象,它打印为null,不知道我在这里缺少什么

<div>
  {{vendorCartList}}
</div>
<div ng-repeat="elements in vendorCartList">
  {{elements}} 
</div>

2 个答案:

答案 0 :(得分:0)

尝试这样,索引没有任何作用。

cart.items(localStorage.getItem('userEmail')).then(function(response){
    $.each(response.data, function(element) {
               $scope.vendorCartList.push(element);
    });
    $location.path('/vendorHome');                                  
})

答案 1 :(得分:0)

重定向正是原因所在。尝试评论出来。该服务在一个范围内调用,当您使用$location.path('someUrl')重定向时,范围会更改。因此,问题。

如果vendorHome页面中需要购物车项目,请在那里注入服务,并在vendorHome's控制器内调用该功能。