Я начинаю изучать angularJS, и я зацикливаюсь на том, как передать переменную на завод и обновить ресурс при событии click.Обновить запрос ресурсов на клик в угловой фабрике?
В частности, я не знаю, как передать переменную поиска из поля формы на завод, передав ее вместо жесткокодированного '???' в params: {query: '???'} ... Затем при отправке ресурс должен быть снова выбран с этим параметром поиска ... Я попытался использовать переменную «searchterms», но он выводит «searchterm» undefined в консоль.
<html ng-app="notmuchApp">
<head>
<meta charset="utf-8">
<title>notmuch sinatra</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css">
<script src="js/angular.js"></script>
<script src="js/angular-resource.js"></script>
<script src="js/ui-bootstrap-tpls-1.1.2.js"></script>
<script>
var notmuchApp = angular.module('notmuchApp', ['ui.bootstrap','ngResource']);
notmuchApp.controller('handleSearch', ['$scope', 'getSearch',
function ($scope, getSearch) {
$scope.searchresults = getSearch.query();
}]);
notmuchApp.factory('getSearch', function ($resource) {
return $resource('/notmuch/search', {}, {
query: { method: 'GET', params: {query:'???'}, isArray: true },
})
});
</script>
</head>
<body >
<div ng-controller="handleSearch">
<form ng-submit="getSearch">
<input type="text" ng-model="searchterm">
<input type="submit" value="Search">
</form>
Results:
<ul>
<li ng-repeat="searchresult in searchresults">
{{searchresult.date_relative}} {{searchresult.authors}} {{searchresult.subject}}
</li>
</ul>
</div>
</body>
</html>