有没有办法在页面刷新时只在控制器中执行一个函数而不是另一个ng-view?
我有一个列表中的项目视图。当我点击其中一个项目时,它会转到一个详细信息页面,我将数据传递给服务并将其返回到详细信息页面,因此我不必再调用另一个$ http请求来获取单个项目数据。
这样可行,但是当我点击f5时,我想执行一个函数来执行$ http请求来获取项目数据。当我点击f5时,当然数据不再在服务中。
提前致谢!
答案 0 :(得分:0)
对此的解决方案是,在您的路径/路径/网址中,您需要添加ID或唯一属性,以标识您要检查其详细信息的项目。
所以,让我们说你在路径/template/items
。
当用户选择第2项时,您可以将路径更改为/template/item/2
。
在$routeProvider
中将路线定义为:
$routeProvider.when('/template/item/:itemId', {..});
itemId
将提供与该项目相关联的ID
在控制器中,使用$routeParams
,您可以使用$routeParams.itemId
读取此ID
查询您的服务,看看它是否包含此项目的详细信息。如果没有,请继续$http
请求。
这样,即使您刷新屏幕,项目ID仍然存在于您的控制器可以从中检索的URL中,并执行相应的操作。