我有一个Web服务,它在调用时返回json文件,其中包含一个条目id的参数。我有一个angular方法返回从该方法返回的数据。我不知道如何在id的输入发生变化时调用该服务,因为我想在提供新值时调用该方法。
我为Id传入的参数称为Reference。 HTML返回对象,引用为1234,但如果我更改了值,我就不知道如何调用该服务。
这是我到目前为止所做的:
角:
var app = angular.module("myModule", [])
.controller("myController", function ($scope, $http) {
var res = $http({
method: 'GET',
url: 'AirPortrWebService.asmx/DashboardDetail',
params: { Reference : '1234' }
})
.then(function (response) {
$scope.booking = response.data
});
$scope.test = "Angular Method Called";
$scope.Reference = '1234';
});
HTML
<!DOCTYPE html>
<html>
<head>
<script src="scripts/angular.js"></script>
<script src="app/NewAppTwo.js"></script>
</head>
<body ng-app="myModule" ng-controller="myController">
{{test}}
{{Reference}}
<br />
<br />
<input type="text" ng-model="Reference" ng-change="booking"/>
{{booking}}
</body>
</html>
答案 0 :(得分:2)
将ng-change =“booking”更改为每次模型Refences更改时调用的函数:
$scope.getReference = function(referenceNumber){
$http({
method: 'GET',
url: 'AirPortrWebService.asmx/DashboardDetail',
params: { Reference : referenceNumber}
}).function (response) {
$scope.booking = response.data
});
}
<input type="text" ng-model="Reference" ng-change="getReference(Reference)"/>
答案 1 :(得分:1)
试试这个:
var app = angular.module("myModule", [])
.controller("myController", function ($scope, $http) {
$scope.refresh = function(){
var res = $http({
method: 'GET',
url: 'AirPortrWebService.asmx/DashboardDetail',
params: { Reference : $scope.Reference }
})
.then(function (response) {
$scope.booking = response.data
});
}
$scope.test = "Angular Method Called";
$scope.Reference = '1234';
});
和html
<input type="text" ng-model="Reference" ng-change="refresh()"/>
ng-change每次输入更改时调用给定的函数。
refresh()
不需要参数,因为它使用$scope.Reference