AngularJS:移动到下一个视图并传递对象

AngularJS:移动到下一个视图并传递对象,angularjs,Angularjs,我向Parse.com查询以接收大量对象,然后在视图中显示所有对象 我现在希望能够单击其中一个对象,这将加载一个新页面,我可以在其中编辑它们 我的问题是,如何将一个对象从主视图传递到可以编辑它的局部视图 当我尝试时: 使用route,传递整个对象,但这似乎是一种不好的做法,并且整个对象会在状态栏中打印出来: // Route .when('/job/:object', { <a href="#/job/{{job}}" style=" "> //路由 .when(“/job/:o

我向Parse.com查询以接收大量对象,然后在视图中显示所有对象

我现在希望能够单击其中一个对象,这将加载一个新页面,我可以在其中编辑它们

我的问题是,如何将一个对象从主视图传递到可以编辑它的局部视图

当我尝试时:

  • 使用route,传递整个对象,但这似乎是一种不好的做法,并且整个对象会在状态栏中打印出来:

    // Route
    .when('/job/:object', {
    
    <a href="#/job/{{job}}" style=" ">
    
    //路由
    .when(“/job/:object”{
    
  • 只需传递objectId,并在加载详细视图后查询数据库以通过其id获取对象

    .when('/job/:objectId', {
    
    <a href="#/job/{{job.id}}" style=" ">
    
    // Get Object by its ID from Parse.com. 
    
    。当('/job/:objectId'{
    //通过Parse.com中的ID获取对象。
    
  • 将整个对象数组保存在$rootScope中,以便从新的细节控制器访问它们


  • 提前感谢

    您应该在服务中保存传入对象,然后在不同控制器之间使用该服务

    您应该在服务中保存传入对象,然后在不同控制器之间使用该服务

    只要您在视图之间使用共享控制器,我想您可能可以在此之前设置一个模型你要改变看法吗


    我不知道在检查路由器时,是否有一种方法可以在控制器之间传递模型,否则,不必采用老式的方法,将id传递给对象,第二个控制器将基于此查找对象。

    只要在视图之间使用共享控制器,我想您可能可以在更改之前设置一个模型我喜欢这个观点


    我不知道在检查路由器时,是否有一种方法可以在控制器之间传递模型,否则,不必采用老式的方法,将id传递给对象,第二个控制器将基于此查找对象。

    正如SSH所说,您需要创建一个角度服务来容纳对象,然后当您从一个vie移动时w到另一个只需注入服务并访问对象

    下面是你应该如何做到这一点

    .service('holdobj',function(){
    
        var myobj;
    
        this.set= function(obj){
         myobj = obj;
        };
    
        this.get= function(){
         return myobj;
        };
    
    });
    
    现在在你的控制器里

    .controller(function(holdobj){
    
        $scope.setObject = function(obj){
          holdobj.set(obj);
        }
    
    });
    

    然后,当您想要获取对象时,只需调用
    holdobj.get();

    ,正如SSH所说,您需要创建一个角度服务来容纳对象,然后当您从一个视图移动到另一个视图时,只需插入服务并访问对象

    下面是你应该如何做到这一点

    .service('holdobj',function(){
    
        var myobj;
    
        this.set= function(obj){
         myobj = obj;
        };
    
        this.get= function(){
         return myobj;
        };
    
    });
    
    现在在你的控制器里

    .controller(function(holdobj){
    
        $scope.setObject = function(obj){
          holdobj.set(obj);
        }
    
    });
    

    然后,当您想要获取对象时,只需调用
    holdobj.get();

    感谢您的回复。当我单击其中一个时,如何将对象保存到服务中?egghead有一个很好的教程:感谢您的回复。当我单击其中一个时,如何将对象保存到服务中?egghead有一个很好的教程: