ng-view:将数据从一个视图传递到另一个视图

时间:2015-01-09 16:02:08

标签: javascript angularjs node.js

这是我对stackoverflow.com的第一个问题,但自从几天以来我一直关注它。

我正在使用带有快速框架的nodejs和使用节点路由开发Web应用程序,我已经完成了大部分工作。但是这些天我遇到了一个问题,在客户端我使用angularjs进行双向数据绑定和angularjs的其他有用功能。

我需要使用angularjs进行客户端路由,这样我必须在按钮点击时将一些对象(包含用户信息)传递给另一个页面。 每当管理员点击“注册”按钮时,页面应重定向到相应的页面(取决于用户类型),并将用户信息传递到另一个页面,该页面将自动填充到目标中的注册表单中。

我尝试使用服务在控制器之间进行通信,但在另一页上,数据未定义或初始化为NULL。

我很乐意得到适合我解决方案的答案

我无法发布截图,因为没有最低声誉:((

提前致谢:))

2 个答案:

答案 0 :(得分:0)

如果在将数据从一个视图发送到另一个视图时应用程序未刷新,则可以将数据存储在$rootscope中。

示例:

angular.module('myApp').controller('myCtrl', function($scope, $rootScope) {
    $rootScope.test = "TEST";
});

angular.module('myApp').controller('myCtrl2', function($scope, $rootScope) {
    $scope.value = $rootScope.test;
    alert($scope.value);
});

答案 1 :(得分:0)

因此,我不知道您的应用是如何构建的,但您可以让您的应用维护一种状态配置,然后将信息保存到这些视图共享的常见变量中。基本上是一个具有多页错觉的单页应用程序。查看Angular-UI。

$stateProvider
.state('home', {
  url: "/",
   views: {
    "viewONE": {
      controller: 'p1Controller',
      template: '<p>Some stuff</p>'
    },
    "viewTWO": {
      controller: 'p2Controller',
      template: '<span>Some more stuff</span>'
    },
    [AND SO ON]
  }
})