假設您有ng-model
屬性,您試圖在partial1中捕獲所有字段,如下所示。
偏-1
<input type='text' ng-model='pageData.field1' />
<input type='text' ng-model='pageData.field2' />
<input type='text' ng-model='pageData.field3' />
app.js
var myApp = angular.module('app', ['ngStorage']);
myApp.controller('Ctrl1', function($scope, $localStorage){
$scope.pageData = {};
$scope.handleClick = function(){
$localStorage.prevPageData = $scope.pageData;
};
});
myApp.controller('Ctrl2', function($scope, $localStorage){
$scope.pageData = $localStorage.prevPageData;
});
偏-2
<p>{{pageData.field1}}</p>
<p>{{pageData.field2}}</p>
<p>{{pageData.field3}}</p>
另一種方法:
但是,如果您只是想將數據從頁面1中的一個控制器發送到頁面2中的另一個控制器,那麼也可以使用服務來完成此操作。
myApp.service('dataService',function(){
var cache;
this.saveData = function(data){
cache = data;
};
this.retrieveData = function(){
return cache;
};
});
在您的第一個控制器中注入此服務以保存頁面數據並將其重新注入第二個控制器以檢索保存的頁面數據。
myApp.controller('Ctrl1', function($scope, dataService){
dataService.saveData($scope.pageData);
});
myApp.controller('Ctrl2', function($scope, dataService){
$scope.pageData = dataService.retrieveData();
});
[用法](https://github.com/gsklee/ngStorage#usage)部分從您的鏈接有答案。 – Arkantos
@Arkantos我不想知道如何使用$ scope。$ storage = $ localStorage帶有一個函數而不是$ default。 –
我得到我發出的問題我有,我在哪裏保持 $ log.debug(「啓動並保存新值」+ url); ()函數(){ var myWindow = $ window.open(「」,「_self」); myWindow.document.write(response.data); }); –