ANgularJS使用上一页的数据
有没有办法使用上一页的数据 我有两个页面:'/users'和'/users/:id' “/users”模板:ANgularJS使用上一页的数据,angularjs,Angularjs,有没有办法使用上一页的数据 我有两个页面:'/users'和'/users/:id' “/users”模板: <div ng-controller="userCtrl"> <div ng=repeat="(k,v) from data"> <span>{{v.name}}</span> <a ng-href="/users/{{k}}">View details</a> </div&
<div ng-controller="userCtrl">
<div ng=repeat="(k,v) from data">
<span>{{v.name}}</span>
<a ng-href="/users/{{k}}">View details</a>
</div>
</div>
{{v.name}
“/users/:id”页
<div ng-controller="userCtrl">
<span>{{ data[currentId].name}}</span>
<div>{{additional_data}}</div>
</div>
//Controller userCtrl
$scope.currentId = $stateParams.id || false;
$scope.data = {};
$http.get('/users').then(function (response) {
$scope.data = response;
// returns
// $scope.data[1] = {name: 'Alex'};
// $scope.data[2] = {name: 'Masha'};
}
$scope.additional_data = 'Some data';
{{data[currentId].name}
{{附加数据}}
//控制器userCtrl
$scope.currentId=$stateParams.id | | false;
$scope.data={};
$http.get('/users')。然后(函数(响应){
$scope.data=响应;
//返回
//$scope.data[1]={name:'Alex'};
//$scope.data[2]={name:'Masha'};
}
$scope.additional_data='Some data';
单击“查看详细信息”按钮,我们将进入另一个带有其他模板的页面。但控制器是相同的
有没有办法保存数据而不再调用请求?只需在新页面上呈现旧数据?您可以查看服务。当导航到网站的其他部分或刷新页面时,服务通常用于“保存”数据
是指向服务的angular文档的链接。基本上,您可以将服务注入控制器,并从一个页面将数据存储到服务中,然后在下一个页面从服务中获取数据并在该页面上使用。您可以查看服务。当导航到服务的不同部分时,服务通常用于“保存”数据ebsite或刷新页面时
myApp.factory('CacheData', function{
var scopeData=null;
var setdata=function(data){
scopeData=data;
},
var getdata=function(){
return scopeData;
}
});
//Controller file
var data=CacheData.GetData(Data);
if(data==null){
//Write your code for getting data
CacheData.SetData(Data); //set data for next call
}
是指向服务的angular文档的链接。基本上,您将服务注入控制器,并从一个页面将数据存储到服务中,然后在下一个页面从服务获取数据并在该页面上使用
myApp.factory('CacheData', function{
var scopeData=null;
var setdata=function(data){
scopeData=data;
},
var getdata=function(){
return scopeData;
}
});
//Controller file
var data=CacheData.GetData(Data);
if(data==null){
//Write your code for getting data
CacheData.SetData(Data); //set data for next call
}
这里我创建了一个保存数据的服务。您可以使用SetData方法保存数据,并使用Getdata方法返回保存的数据
这里我创建了一个保存数据的服务。您可以使用SetData方法保存数据,并使用Getdata方法获取保存的数据。我建议您使用 然后,您可以定义一个使用该控制器的父状态,并且两个子状态都可以访问该控制器的同一实例 大概是这样的: 这应该在配置块中
$stateProvider
.state( 'users', {
abstract : true,
controller : // yourController,
template : '<div ui-view></div>'
})
.state( 'users.list', {
templateUrl : // whatever,
url : '/users',
})
.state( 'users.detail', {
templateUrl : // whatever,
url : 'users/:id'
});
$stateProvider
.state('用户'{
摘要:没错,
控制员://yourController,
模板:“”
})
.state('users.list'{
templateUrl://随便什么,
url:“/users”,
})
.state('users.detail'{
templateUrl://随便什么,
url:'users/:id'
});
我建议您使用
然后,您可以定义一个使用该控制器的父状态,并且两个子状态都可以访问该控制器的同一实例
大概是这样的:
这应该在配置块中
$stateProvider
.state( 'users', {
abstract : true,
controller : // yourController,
template : '<div ui-view></div>'
})
.state( 'users.list', {
templateUrl : // whatever,
url : '/users',
})
.state( 'users.detail', {
templateUrl : // whatever,
url : 'users/:id'
});
$stateProvider
.state('用户'{
摘要:没错,
控制员://yourController,
模板:“”
})
.state('users.list'{
templateUrl://随便什么,
url:“/users”,
})
.state('users.detail'{
templateUrl://随便什么,
url:'users/:id'
});
我像你说的那样使用它。如何解决我的问题?我向你展示的是用ui路由器定义状态的方法。一旦你有了这个集合,你将拥有两个状态的相同控制器实例。我像你说的那样使用它。以及如何解决我的问题?我向你展示的是用ui路由器定义状态的方法。一次设置了该集合后,两种状态下的控制器实例将相同。