2016-03-16 20 views
1

這裏我用離子框架和angularjs,我有一個servces像如何使我的數組中的服務來訪問

app.service('MyService',function($scope){ 
    var value = $scope.product; 
    return value; 
}); 

和我的控制器是

app.controller("firCtrl",function($scope,$state,MyService){ 

    $scope.product = ['gopi','dinesh','vasu','prasanth']; 
    //MyService.value = $scope.product; 
    console.log($scope.product); 
    $scope.doClick = function(){ 
     console.log('invoke'); 
     $state.go('second'); 
    }; 
}); 

我的第二個控制器

app.controller("secCtrl",function($scope,MyService){ 
    $scope.product2 = MyService.value; 
}); 

這裏我有我的產品的價值和這個價值顯示在第一頁,我有一個按鈕在拳頭頁面sh將產品中的價值歸於第二頁。我沒有想到在第二頁中查看列表中的數組。

當我在第一頁使用NG重複我能夠顯示的數值和我的按鈕,但是當我按一下按鈕我不能夠在第二頁查看數據

+0

你想要在控制器i中創建訪問數組n服務? –

+0

是的,這樣我就可以嘗試在我的第二個控制器中查看 –

回答

2

可以先件事注入$scope內部服務工廠功能,即僅在controller &指令link功能中可用。

服務

app.service('MyService',function(){ 
    var data = []; //private data 
    var self = this; 
    //data getter 
    self.getData = function(){ 
    return data; 
    } 
    //data setter 
    self.setData = function(value){ 
    data = value; 
    } 
}); 

然後控制器會做SetData方法來設置數據的共享

MyService.setData($scope.product) 

然後你可以通過調用數據訪問共享數據getter

app.controller("secCtrl",function($scope,MyService){ 
    $scope.product2 = MyService.getData(); 
}); 
+0

完美答案@Pankaj Parkar。另外,$範圍不能插入服務true –

+0

我想如何查看我的數組在第二個控制器 –

+0

@MohanGopi更新我的答案..看看它..謝謝:) –

相關問題