Javascript 使用ngChange、Angular后向$resource添加新参数
在选择了一种类型以创建对API的请求后,尝试附加一个新的url参数时遇到问题 我的Javascript 使用ngChange、Angular后向$resource添加新参数,javascript,angularjs,angular-resource,Javascript,Angularjs,Angular Resource,在选择了一种类型以创建对API的请求后,尝试附加一个新的url参数时遇到问题 我的ng更改是genreChange。选择后,在使用提交按钮提交表单之前,应在$scope.moviesurl中自动添加新的url参数,如以下所示 <form ng-submit="submitButton()" name="cForm" class="form-horizontal"> <h2>Discover the gems</h2> &l
ng更改
是genreChange
。选择后,在使用提交按钮提交表单之前,应在$scope.movies
url中自动添加新的url参数,如以下所示
<form ng-submit="submitButton()" name="cForm" class="form-horizontal">
<h2>Discover the gems</h2>
<div class="form-group">
<select class="form-control" ng-model="genreSelect" ng-change="genreChange()">
<option ng-repeat="genre in genreList.genres" value="{{genre.id}}">{{genre.name}}</option>
</select>
</div>
<input type="submit" value="hello" />
</form>
我这样做只是为了防止用户将其留空
谢谢这就是Resource.bind的作用
var MovieResource = $resource('http://api.themoviedb.org/3/discover/movie:action', {
api_key: apikey,
callback: 'JSON_CALLBACK'
}, {
get: {
method: 'JSONP'
}
});
$scope.movies = MovieResource;
$scope.genreChange = function() {
$scope.genreVar = $scope.genreSelect;
$scope.movies = MovieResource.bind({with_genres: $scope.genreVar})
}
$scope.submitButton = function() {
$scope.films = $scope.movies.get();
}
您是为put
还是get
执行此操作。您遇到了什么问题?实际上,get
,只需要添加新的url参数,就像您为put$scope.movies.get({with_genres:$scope.genreVar})所做的一样代码>。它不工作了吗?我检查了网络控制台,它工作了,但是submitButton()覆盖了它。这意味着进行了两次调用,应该是一次调用调用genreChange
方法时不应进行调用。只需将需要传递的参数存储在范围变量中。然后在get方法中传递它。
var MovieResource = $resource('http://api.themoviedb.org/3/discover/movie:action', {
api_key: apikey,
callback: 'JSON_CALLBACK'
}, {
get: {
method: 'JSONP'
}
});
$scope.movies = MovieResource;
$scope.genreChange = function() {
$scope.genreVar = $scope.genreSelect;
$scope.movies = MovieResource.bind({with_genres: $scope.genreVar})
}
$scope.submitButton = function() {
$scope.films = $scope.movies.get();
}