在AngularJS中使用href发送数据

时间:2015-04-16 19:37:54

标签: angularjs

我在控制器products

中生成了大量数据

我在products page

上有以下链接
<td><a href="/#/getProducts/{{name}}/status" {{ ProductName }}</a></td>

我的数据是在products controller

中计算的
$scope.data = myData

现在,不要在status pagestatus controller上从头开始重新计算所有内容,而是要将myData传递给status controller

我也不想在网址中显示数据

我无法这样做。任何提示/资源表示赞赏

2 个答案:

答案 0 :(得分:1)

如果你想将一个控制器的同一个mydata共享到另一个控制器上,那么我会将其存储为currentObject等服务的一部分。

因此,每次用户访问控制器时,该对象都将被新的myData对象覆盖。

在另一个控制器中,我只会引用该对象。这样可以更轻松地将数据作为URL参数的一部分附加。

示例:

在您的服务中,

app.factory("ProductsService", function() {
   var service = {};
   // your properties for fetching etc
   var _myData;
   service.setMyData = function(myData) {
      _myData = myData;
   }

   service.getMyData = function() {
      return _myData;
   }
   return service;
});

在您的一个控制器中,在导航之前使用ProductService.setMyData(mydata)设置该对象并在另一个控制器中使用ProductService.getMyData()

进行设置

答案 1 :(得分:0)

使用localstorage在不同的控制器中设置并获取mydata值

window.localStorage.set("myData", JSON.stringify(myData));

var myData = JSON.parse(window.localStorage.get("myData"));