我正在開發使用Ionic Framework的應用程序,並且存在我無法解決的問題。 我有幾個視圖是步驟,必須共享數據,用戶也可以退後一步,轉到其他視圖並稍後再回來。他的輸入應該存儲,直到最後一步完成,然後我可以堅持模型,我需要新的空的。在視圖之間共享數據
我用這個工廠,但我找不到方法來清除返回的對象。可能嗎? 我可以在這裏使用的其他方法是什麼?
app.js
.state('topup', {
url: "/topup",
abstract: true,
templateUrl: "templates/topup/topup.html",
controller:'TopupCtrl'
})
.state('topup-1', {
url: "/topup-1",
templateUrl: "templates/topup/topup-1.html",
controller:'TopupCtrl'
})
.state('topup-2', {
url: "/topup-2",
templateUrl: "templates/topup/topup-2.html",
controller:'TopupCtrl'
})
controllers.js
.controller('TopupCtrl', function($scope, $state, TopupData, HistoryData) {
$scope.data = TopupData.getCurrent();
$scope.selectOperator = function(operator) {
$scope.data.Operator = operator;
$state.go("topup-2");
};
$scope.acceptTopup = function(){
HistoryData.getHistory().push($scope.data);
console.log(HistoryData.getHistory());
TopupData.setCurrent({});
$state.go("main");
};
})
services.js
.factory('TopupData', function() {
var service = {};
var Model = {};
service.setCurrent = function(value)
{
Model = value;
};
service.getCurrent = function(value)
{
return Model;
};
return service;
})
爲什麼你在所有狀態下使用相同的控制器 – 2015-03-03 09:13:36
似乎足夠了,有更多的步驟使用上面這些只使用TopupData的簡單函數,那麼是否有任何理由將其拆分到多個控制器上? – Adiqq 2015-03-03 09:28:15
你爲什麼不把它包裝在'ui-view'父div並從狀態中刪除控制器級別 – 2015-03-03 09:29:33