在angular js中,如何将json对象作为状态转换的一部分发送到另一个控制器

How do send json objects as part of the state transition to another controller in angular js

本文关键字:一部分 转换 状态 控制器 另一个 js angular 对象 json      更新时间:2023-09-26

我有两个控制器FundsController和fundrequestcontroller。FundRequestController用于向用户显示收到的资金请求。FundsController包含一个表单,它有一个选项,可以选择我的朋友和用户希望发送给他的朋友的金额。

并且,当用户接受朋友的特定资金请求时,应该发生状态转换,将用户从FundRequestController视图导航到FundsController视图,其中预填充好友id和请求的金额。

我想创建一个json对象,并与FundsController共享这个对象,以便在初始化好友id和金额时可以使用json对象预填充。

我不想使用查询参数,因为太多的信息将显示给用户在浏览器的url。

我如何从一个控制器共享json对象到另一个控制器,可以用来初始化其他控制器??

使用factory来创建保存共享数据的服务。然后,这个服务会作为一个依赖项注入到你的两个控制器中。

应用程序。factory("sharedDataService", function() {返回{yourData:"不管"};});

参见:

  • 很棒的答案和例子:https://stackoverflow.com/a/13482919/36546
  • 视频在这里:https://egghead.io/lessons/angularjs-sharing-data-between-controllers

最好的方法是使两个控制器的工厂文件相同。

更多信息

http://plnkr.co/edit/UA28cXfF0I8r3M54DyYa?p =

预览

另一个简单的方法是将一个函数设为全局并共享数据

控制器1

$scope.shareData( data ) = function(){
  $scope.sampleFunction( data) ;
  };

控制器2

$rootScope.sampleFunction( data ) = function(){
  console.log(data);
  // your logic
  };

更多信息