ng-model을 사용하여 텍스트 입력란을 통해 사용자 입력을 얻고 http.get 호출의 기본 URL을 follow와 같이 추가하려고합니다.'ng-model'으로 컨트롤러 변수를 업데이트하는 방법 AngularJS?
index.html을 :
<html ng-app='vidRoute'>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Search Video</title>
<link rel="stylesheet" href="app/css/custom/main.css">
<link rel="stylesheet" href="app/css/custom/responsive.css">
</head>
<body>
<div id='mainwrapper'>
<div id='header' ng-controller="searchController">
<input type="text" id="searchTxt" ng-model="append">
<a href="#/search" id="searchBtn">Search Video</a>
</div>
<div id="poster">
<div ng-view></div>
</div>
</div>
<script type="text/javascript" src="app/javascript/vendor/jquery-2.1.1.js"></script>
<script type="text/javascript" src="app/javascript/vendor/angular.js"></script>
<script type="text/javascript" src="app/javascript/vendor/angular-route.js"></script>
<script type="text/javascript" src="app/javascript/vendor/angular-resource.js"></script>
<script type="text/javascript" src="app/javascript/vendor/angular-mocks.js"></script>
<script type="text/javascript" src="app/javascript/custom/searchcontroller.js"></script>
<script type="text/javascript" src="app/javascript/custom/vidRoute.js"></script>
</body>
</html>
searchcontroller.js
'use strict';
var vidcontrol = angular.module("vidcontrol", []);
vidcontrol.controller("vidcontroller", ['$scope', '$http', function($scope, $http) {
$http.get('http://api.themoviedb.org/3/tv/airing_today?api_key=d5e87524383e2872a9555990b268dc5b').success(function(response) {
$scope.results = response.results;
});
}]);
vidcontrol.controller('searchController', ['$scope', '$http',
function ($scope, $http) {
var url = "http://api.themoviedb.org/3/search/movie?api_key=d5e87524383e2872a9555990b268dc5b&query=";
// var searchTxt = $('#searchTxt').val();// this works fine when used
var searchUrl = url + append; //$scope.append also logs 'undefined' on the console
$http.get(searchUrl).success(function (response) {
$scope.searchResults = response.results;
});
}]);
하지만 난 어떤 응답을받지 못했습니다. 콘솔에서 searchUrl을 로그 할 때 append가 텍스트 상자의 값에 따라 업데이트되지 않았 음을 알 수있었습니다. 저는 앵귤러를 처음 접했고 내가 뭘 잘못하고 있는지 알 수 없습니다. 이 문제를 해결하려면 어떻게해야합니까?
APPEND이 코드의 아무 곳이나 정의되지 않은 것 ... 난 당신이 함께 $의 scope''에서 그것을 읽을 필요가 확실 해요 당신이 여기 쓰는 방법. –
$ scope.append를 사용하면 'undefined'가됩니다. –