Angularjs将值从一个页面传递到另一个页面

时间:2015-03-17 13:10:22

标签: angularjs

在下面的代码中,我尝试在点击时更改为另一个页面,并希望传递对象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
]);

2 个答案:

答案 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