Buscador en Angular JS

Pregunta de la clase:
Miguel Herreros Cejas

Miguel Herreros Cejas

Pregunta
studenthace 8 años

Buenos dias:

Tengo un buscador basico en Angular JS. Simplemente un input con ng-model=“search” y un ng-repeat con un filter:search.

El problema viene cuando quiero cambiar ese buscador de pagina.

O sea, necesitaria un buscador clasico de palabras clave, que me enviara el value a otra pagina, recogerlo con php, y filtrara el contenido en angular.

He intentado hacer otro campo input con ng-model=“search” y darle el value con la variable php que se recoge mediante post, pero no me filtra.

Gracias por sus respuestas.

3 respuestas
para escribir tu comentario
    Karen Cubero

    Karen Cubero

    studenthace 8 años

    Te recomiendo utilizar ya temas que lo integren como Semantic UI. https://semantic-ui.com/

    ¡Terriblemente fácil de instalar y de usar!

    Miguel Herreros Cejas

    Miguel Herreros Cejas

    studenthace 8 años

    Buenas. He avanzado con el buscador, utilizando services. Pero no se como pasar una variable rootScope a un service.

    El index.html

    <div ng-controller="MainCtrl"> <form name="search-form"> <input type="text" placeholder="Enter key word" name="word" ng-model="formData.word" /> <br/><br/><input type="submit" value="Search" class="btn" ng-click="submitForm(formData)"/> </form> </div>

    app.js

    'use strict'; (function(){ var app = angular.module('App',[ 'ngRoute', 'ui.router', 'multipleSelect', 'ngSanitize', ]).config(['$routeProvider', function($routeProvider){ $routeProvider.when('/', { templateUrl: 'web/jobs/post.php', controller: 'PostController' }).when('/post/:id', { templateUrl: 'web/jobs/singlepost.php', controller: 'SinglePostController' }).when('/page/:id', { templateUrl: 'web/jobs/page.php', controller: 'PageController' }).when('', { templateUrl: 'web/jobs/page.php', controller: 'PageController' }).otherwise({ redirectTo: '/' }); }]); app.service('serveData', [function () { return { qty : "two" }; }]) app.controller('MainCtrl', function ($scope,$rootScope,$window) { $scope.formData = {}; $scope.submitForm = function (formData) { $rootScope.filterObject = formData.word; //alert('Form submitted with' + JSON.stringify($rootScope.filterObject)); $window.location.href = "jobs"; }; }); app.controller('PostController', ['$scope', '$http','$rootScope','serveData', function($scope, $http, $rootScope,serveData){ $http.get('json/jobs.json').success(function(data){ $scope.posts = data; $scope.obj = serveData; }); }])

    jobs.php

    <article ng-repeat="post in posts | filter : obj.qty "> <h3><a href="#/post/{{ posts.indexOf(post) }}">{{ post.title }}</a></h3> <cite>by {{post.author}} on {{post.created_at | date}}</cite> <p>{{post.body | limitTo:250}}..</p> <a href="#/post/{{ posts.indexOf(post) }}">Read more &rarr;</a> </article> ``
Curso de Angular 2 | Jorge Cano | 2017

Curso de Angular 2 | Jorge Cano | 2017

Crea aplicaciones web completas usando Angular 2: El framework front-end de Google. Desde usar Typescript, Componentes, rutas y conectarse a otros servicios web. Además, con MEAN conectar tu aplicación tanto en backend y base de datos usando solamente JavaScript.

Curso de Angular 2 | Jorge Cano | 2017
Curso de Angular 2 | Jorge Cano | 2017

Curso de Angular 2 | Jorge Cano | 2017

Crea aplicaciones web completas usando Angular 2: El framework front-end de Google. Desde usar Typescript, Componentes, rutas y conectarse a otros servicios web. Además, con MEAN conectar tu aplicación tanto en backend y base de datos usando solamente JavaScript.