2015-10-20 93 views
0

我使用用戶(名稱和城市)創建了一個包含三個視圖(主頁,列表和表格)的簡單網頁。在表格視圖中,我應該可以通過SlideNav添加數據和編輯創建的數據(我正在使用Angular Material)。 我的問題是在編輯部分。我如何將選定值的$索引傳遞給SlideNav中的表單?有一次,我從來沒有改變我的網頁使用路由的常規解決方案是行不通的。

你有任何消化?

+0

NG單擊你寫一個函數,在一側的功能傳遞數據和$指數作爲參數 – Arun

+0

@Arun如果我通過了函數內部$指數我收到$指數沒有定義 –

+1

檢查這一個HTTP錯誤回報的: //jsfiddle.net/bdmRs/ – Arun

回答

0

您可以將所需的數據設置到$ rootScope中。但是,雖然這是最簡單的方法,但不是向rootScope添加數據並不好,它會污染rootScope,並且如果無法正確更新這些數據會導致問題。

更好的方法是使用服務,並在服務調用中傳遞參數中的數據。如:

angular.module('yourApp', []) 
.factory('SomeService', function() { 
    var theData; 
    return { 
    process: function(data) { 
    // process the business logic here. 
    this.theData = data; // hode the data here, and it can be used in other controller. 
    }, 
    getData: function() { 
    return this.theData; 
    } 
    }; 
}); 

然後你可以得到其他控制器中的數據。

+0

我試過你的解決方案,我搞清楚的問題是,我從不改變頁面,所以我甚至不能訪問$的值stateParams.index將其存儲在$ rootcope中。 –