我的控制器代碼中使用外http.then值: -如何在角
var app = angular.module('myApp');
app.controller('myCtrl', function() {
$scope.year = "1350";
$scope.ord1 = "";
$scope.s1t1 = function() {
$http({
url: 's1t1.json',
method: 'GET'
}).then(function(response) {
$scope.set = response.data;
//console.log($scope.set);
$scope.obj = $scope.set.find(o => o.year === $scope.year);
$scope.ord1 = $scope.obj.ordinal;
});
}
alert($scope.ord1);
});
我得到像在$scope.ord1
44144的值。我需要在我的控制器外部使用s1t1
功能。我用一個警報代表它。我也嘗試用$rootScope
但結果是一樣的。
'$ http'是aync即使你的HTTP是尚未完成執行 – Satpal
提醒和你的函數s1t1甚至沒有叫。 – imprezzeb
是它在s1t1函數執行前提供值。我想知道如何在執行s1t1函數後獲得ord1的值? –