2015-09-10 73 views
1

我向Parse.com進行查詢以接收大量對象,然後在視圖中顯示所有對象。AngularJS:移動到下一個視圖並傳遞對象

我現在想要點擊其中一個對象,它應該加載一個新的頁面,我可以編輯它們。

我的問題是,我如何將主視圖中的某個對象傳遞給可以編輯它的詳細視圖?

當我想:

  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對象全陣列,以從新細節控制器訪問它們。

在此先感謝

+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();

0

只要該服務爲您使用的視圖之間共享的控制器,我想你可能會在更改視圖之前設置模型。

我不知道在檢查路由器時是否有方法在控制器之間傳遞模型,否則不使用傳統方式並將ID傳遞給對象,第二個控制器會根據該對象查找它。

相關問題