2014-03-14 106 views
1

ng-view通过路由换出。下面是一些途径和控制器代码

var containers = []; 
angular.module('AContainer',['ngRoute']).config(
function ($routeProvider){ 
    $routeProvider 
    .when('/', { 
     controller: containerListCtrl, 
     templateUrl: '/closeAndUplift_containerList.html' 
    }); 
} 
); 
function containerListCtrl($scope, $location){ 
    $scope.containers = containers; 
} 

这里的是div

<div id='containersDiv' ng-app='AContainer'> 
    <div ng-view></div> 
</div> 

在此的图(closeAndUplift_containerList.html)已经被加载,其经由纳克重复显示对象的数组

<div> 
<table> 
    <thead> 
    <th>Pallet id</th> 
    </thead> 
    <tr ng-repeat='container in containers'> 
     <td><a href='#/edit/{{container.index}}'>{{container.id}}</a></td> 
    </tr> 
</table> 

,会出现问题时从jqu的变化结果ery ajax回调。 xhr调用被包含在一个单独的库中,并且传入一个回调函数。回调应该清除容器列表。回调执行此:

var activeScope = $('#containersDiv').scope(); 
activeScope.$apply(function(){ 
    activeScope.containers = []; 
}); 

但没有任何反应。旧的值仍在显示。

编辑: 根据Rishul的建议,我重新安排了利用$ http的代码,以使其工作。问题是,虽然这是一种解决方法,但它并没有真正回答为什么我使用的方法不起作用的问题。 有人可以评论他的答案是否应该选择为解决问题?

+0

您的看法需要一个控制器,将有一个范围 –

+0

谢谢广告,我已经更新了问题 –

+1

出于兴趣:你需要什么jQuery的回调? Angular有一些内置的xhr请求的东西。 – Jorg

回答

1

使用$ HTTP服务,使AJAX调用,因为这种内在的角度JS库将在得到一个响应运行摘要周期和修改变量的作用域的看法也会发生变化。

你的情况jquery回调不会触发$摘要循环,因此视图没有得到更新!请确认它是否工作