我对角度很新,所以请耐心等待。 :-) 我在一个视图中有一个联系人列表。我把一个服务与一些setter和getter函数放在一起来保存联系人ID。当用户单击列表视图上的联系人时,它会在服务中设置ID并移至编辑表单视图。这很好用,但是当我完成编辑并单击返回列表视图时,我想清除服务中的变量。我该怎么办? 我在这个主题上找到了另外一个答案,但我认为它使用了内置的角度路由器而不是ui-router。
Angular updating and clearing factory variables
此外,当该用户首先从列表移动到编辑表单时,该答案中的方法是否也会清除变量?
谢谢!
答案 0 :(得分:1)
如果是路线更改,您可以使用$ locationChangeStart,请参阅$location
例如,在您的编辑控制器中,注册路线更改时的事件:
var onloc = $scope.$on('$locationChangeStart', function (event, newUrl, oldUrl) {
myService.cleanUp(whatever);
onloc();
});