私は角度の工場を使用して各コントローラが1ページ分のコントローラ間でデータを共有しています。ここに私のjsファイルは角度工場の問題
app.factory('myService', function() {
var savedData = {};
function set(data) {
savedData = data;
}
function get() {
return savedData;
}
return {
set: set,
get: get
}
});
app.controller("logincont", ['$scope','$http','md5','$window','myService',function($scope,$http,md5,$window,myService){
$scope.cari = function() {
$http.get('http://localhost:8089/MonitoringAPI/webresources/login?a='+$scope.userid+'&d='+$scope.password).then(function(response){
$scope.reslogin = response.data;
$scope.reslogin2 = response.data.username;
myService.set($scope.reslogin2);
console.log($scope.reslogin2);
console.log(myService.set($scope.reslogin2));
});
};
}]);
app.controller("moncont", ['$scope','$http','$filter','myService',function($scope,$http,$filter,myService){
$scope.user = myService.get();
console.log($scope.user);
}]);
ですここで私は私が期待した結果 console.log($scope.reslogin2) = ristian
console.log(myService.set($scope.reslogin2)) = undefined
console.log($scope.user)={}
にconsole.logを呼び出し、ristianは、各スコープを充填した結果があります。
プロンプトが解決しないときは、$ scope.userをログに記録します。これは、log $ scope.userのときにオブジェクトを取得する理由です。 – Akashii
2番目のスコープはどうですか?なぜ私は定義されていない値ristianを得た。 –
myService.set($ scope.reslogin2)は何も返されないので、未定義の場合はmyService.get()に変更してください – Akashii