在我的html页面中,单击一行会将您转到另一个html页面。 ng-click调用函数showScripts并使用ajax调用填充变量$ scope.Scripts,我在这个新的html页面中使用它。
$scope.showScripts=function(event,item){
$http.get('/Scripts/'+item).success(
function(data) {
$scope.Scripts = data.responseData;
});
if (event.ctrlKey) {
window.open("/scripts.html","_blank"); // in new tab
} else {
window.open('/Scripts.html',"mywindow"); // in new tab
}
}
File Scripts.html使用相同的控制器。因此,当html加载时,angularjs文件再次加载,$ scope.Scripts中的值返回到undefined。我可以阻止控制器刷新值吗?
答案 0 :(得分:0)
你必须使用这个逻辑:
var yourUrl = '/scripts.html';
$window.location.href = yourUrl;
OR:
$window.location.href = '/scripts.html';
$window.location.reload();
答案 1 :(得分:0)
当您为不同的视图使用相同的控制器时,您可以创建用于存储和检索数据的服务或工厂方法。另一种方法是您也可以将数据存储在$ rootScope中。