
Miguel Herreros Cejas
PreguntaBuenos 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.

Karen Cubero
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
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 →</a> </article> ``

Ricardo Azpeitia P.
Aqui hay una directiva hecha en angular js tal vez te puedas inspirar de esa.