var app = angular.module("MyApp", []);
app.factory("myFactory", function ($http) {
return {
getDatas: function () {
var args = {};
var url = "test.req";
$http({
method: 'POST',
data: args,
url: url
}).success(function (response, status, headers, config) {
return response;
}).error(function (response, status, headers, config) {
alert(status + response);
});
}
};
});
app.controller("myCtrl", function ($scope, myFactory) {
$scope.names = {};
$scope.title = myFactory.msg;
alert(myFactory.getDatas());
$scope.names = myFactory.getDatas();
});
Dalam kod di atas, alert(myFactory.getDatas());
jika nilai kilang tidak dapat diperoleh, undefined akan dipaparkan.
Paparan nyahpepijat penyemak imbas:
angular1.5.3.min.js:6Ralat Tidak Ditangkap: [$injector:modulerr]
Kilang boleh mendapatkan data dari bahagian belakang, tetapi pengawal tidak tahu cara mendapatkan data kilang antara satu sama lain....
Saya baru mula menonton sudut baru-baru ini...
Anda lihat, kaedah getDatas sebenarnya adalah badan pelaksanaan fungsi tak segerak Setelah getDatas dilaksanakan, $http akan meminta data bahagian belakang secara tidak segerak Walau bagaimanapun, selepas getDatas dilaksanakan, ia kembali dan amaran tidak boleh mendapatkan nilai.