У меня есть типичный редактор форм и запросов и кнопка поиска im my Angularjs-app. Однако нажатие кнопки поиска не работает. Если я изначально открываю форму в таблице, служба работает. Но не при нажатии кнопки поиска. Код выглядит следующим образом:Angularjs, форма поиска, фабрика: кнопка не работает
HTML vlist.html:
<input ng-model="nachname" type="text" id="nachname" name="nachname" class="search-query" />
<button ng-click="search()" type="submit" class="btn btn-primary">Search</button>
...
<tr ng-repeat="pers in personen">
<td>{{pers.nachname}}</td>
</tr>
...
Контроллер:
var app = angular.module('cdemoApp', [ 'cdemo.services' ]);
app.config(['$routeProvider', function($routeProvider) {
$routeProvider.
when('/vlist', {
controller: 'VListCtrl',
resolve: {
personlistdto: function(VListLoader) {
return VListLoader();
}
},
templateUrl : 'app/view/vlist.html'
}).otherwise({ redirectTo: '/' });
} ]);
app.controller('VListCtrl', [ '$scope', 'personlistdto',
function($scope, personlistdto ) {
$scope.search = function(){
$scope.personen = personlistdto.aaData;
$scope.iTotalRecords = personlistdto.iTotalRecords;
};
$scope.search();
}]);
Услуги:
var services = angular.module('cdemo.services', [ 'ngResource' ]);
services.factory('Vers', [ '$resource',
function find($resource) {
return $resource('/cdemo/rest/vers/ajs/:id',
{ id: '@id', isArray: false }
);
} ]);
services.factory('VListLoader', [ 'Vers', '$q',
function(Vers, $q) {
console.log('Vloader1');
var find = function find() {
var delay = $q.defer();
Vers.get(function(personlistdto) {
delay.resolve(personlistdto);
}, function() {
delay.reject('Nix fetch');
});
return delay.promise;
};
return find;
} ]);
Любая идея, как я могу получить поиск кнопку (включая поля/параметры) - потому что ничего не происходит при нажатии кнопки? Спасибо за ответ.
Элементы '' и '
Обработчик кликов должен находиться в VListCtrl и вызывать VListLoader с полями поиска, но я не знаю, как это сделать. –
Я просто предполагаю, что вы хотите найти поле поиска для имен в своем списке. Если это так, кнопка не требуется, и вы можете легко фильтровать свой контент. [Вот плунк] (http://plunker.co/edit/ObiTzrBxa58gCEfOLpHr?p=preview), который демонстрирует базовый фильтр. Это не означает, что кнопка «не работает», но может дать желаемый результат. – rGil