Пытаясь решить проблему, которая выглядит очень простой, но трудно понять :-)angularjs ngclick ясно и поиск
У меня есть JSon файл, из которого я пытаюсь получить выборку данных с помощью AngularJS, основываясь на пользователя Input (Name), Browser отображает только те результаты, которые не являются старыми.
names.json
{"name": {
"Alan": [{ "Class":"1", "Books":"20"}],
"Sam": [{ "Class":"2", "Books":"204"}],
"John": [{ "Class":"4", "Books":"240"}],
}
}
Пример: Input: Alan
Выходные: Имя: Алан, Класс: 1, Книги: 20.
мне удалось напечатать ожидаемый результат со следующим кодом:
names.js файл:
var NamesApp = angular.module('NamesApp', [])
NamesApp.controller('NameCtrl', function($scope, $http){
$http.get('names.json').success(function(data) {
$scope.getit = data;
});
$scope.results = [];
$scope.findValue = function(userInput) {
angular.forEach($scope.getit.name, function(value, key) {
if (key === userInput) {
$scope.results.push({n: key, c: value[0].Class, b: value[0].Books});
}
});
};
});
И мой HTML-файл выглядит следующим образом:
<body ng-controller="NameCtrl">
<input type="text" ng-model="userInput">
<button type="submit" ng-Click="findValue(userInput)">Find</button>
<h3>Results</h3>
<span ng-repeat="result in results">Name: {{result.n}} , Class: {{result.c}} , Books: {{result.b}}</span>
</body>
Проблема: При поиске в первый раз или после обновления страницы, вы получите результаты в чистоте.
Как очистить результаты поиска, прежде чем искать другое имя?
В разделе «Мой результат» всегда должны быть только запрошенные результаты, а не старые результаты.
Иногда вам нужно думать просто. Просто переместите «$ scope.results = [];» рядом с $ scope.findValue = function (userInput) {строка. –