在下面的代码中,我尝试在点击时更改为另一个页面,并希望传递对象i
我该怎么做。在下面的代码中,我将它作为undefined.how来解决这个问题
<button ng-href="#/page1" value="{{i.display}}"></button>
app.controller("ctrls",['$scope','$location',function($scope,$location){
$scope.func = function(i) {
$scope.var=i
$location.path("/rel");
};
]);
app.controller("ctrls",'$scope',function($scope) {
console.log($scope.var) //undefined
]);
答案 0 :(得分:6)
页面通常具有控制器,可以创建服务以在页面之间共享数据(通过在关联的控制器中注入服务)。像:
app.factory('myService', function() {
var savedData = {}
function set(data) {
savedData = data;
}
function get() {
return savedData;
}
return {
set: set,
get: get
}
});
在你的控制器A:
myService.set(yourSharedData);
在您的控制器B中:
$scope.desiredLocation = myService.get();
快乐帮助!
答案 1 :(得分:1)
使用服务(最佳)https://docs.angularjs.org/guide/services
或$ rootScope(不好,但更简单)https://docs.angularjs.org/api/ng/service/$rootScope