Я пытаюсь изучить AngularJS и мне нужна помощь в передаче введенного пользователем текстового значения текстового поля после нажатия кнопки для добавления к строковому значению URL-адреса при вызове службы http.
Я пытаюсь добавить следующим образом, но он показывает мне значение undefined при добавлении URl с введенным пользователем текстом из текстового поля.
Вот мой HtmlPage1.html
<form ng-submit="abc(inputValue)">
<input type="text" name="name" ng-model="inputValue" />
<button type="submit">Test</button>
</form>
и мой файл скрипта Script.js
var app = angular.module("repos", [])
.controller("reposController", function ($scope, $http, $log) {
$scope.inputValue = null;
$scope.abc = function (value) {
$scope.inputValue = value;
};
$http({
method:'GET',
url: 'https://api.github.com/users/'+$scope.inputValue+'/repos'
})
.then(function (response) {
$scope.repos = response.data;
$log.info(response);
});
});
Может ли кто-нибудь помочь мне в этом отношении, как получить правильное значение, которое пользователь ввел для добавления к URL-адресу?
Заранее спасибо.
Ваш вызов выполняется до того, как вы введете какое-либо значение. Чтобы вызвать API с помощью inputValue
, поместите вызов get внутри нажатия кнопки.
Кроме того, вам не нужно передавать inputValue
функцию из HTML, двухсторонняя привязка Angular сделает эту работу за вас.
Пример: HTML
<form ng-submit="abc()">
<input type="text" name="name" ng-model="inputValue" />
<button type="submit">Test</button>
</form>
JS:
var app = angular.module("repos", [])
.controller("reposController", function ($scope, $http, $log) {
$scope.inputValue = null;
$scope.abc = function () {
$log.info($scope.inputValue) // you will have your updated value here
$http({
method:'GET',
url: 'https://api.github.com/users/'+$scope.inputValue+'/repos'
})
.then(function (response) {
$scope.repos = response.data;
$log.info(response);
});
});
};
Надеюсь, это поможет.
Эта статья взята из Интернета, укажите источник при перепечатке.
Если есть какие-либо нарушения, пожалуйста, свяжитесь с[email protected] Удалить.
я говорю два предложения