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

时间:2015-09-10 06:57:58

标签: angularjs

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

我现在希望能够点击其中一个对象,这些对象应该加载一个我可以编辑它们的新页面。

我的问题是,如何将其中一个对象从主视图传递到我可以编辑它的详细视图?

当我尝试时:

  1. 使用路线,传递整个对象,但这似乎是不好的做法,整个对象在状态栏中打印出来:

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

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

  4. 提前致谢

1 个答案:

答案 0 :(得分:3)

正如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();