如何从标题搜索框中全局搜索索引1,索引2和索引3页面?

时间:2018-11-29 19:26:44

标签: html angularjs

我在header.html页的页眉中有一个全局搜索框

header.html

 <div class="col-md-4" style="float:right; margin-right:0px;">
                    <div class="input-group">
                        <input type="text" class="form-control" placeholder="Search" id="txtSearch" />
                        <div class="input-group-btn">
                            <button class="btn btn-primary" type="submit">
                                <span class="glyphicon glyphicon-search"></span>
                            </button>
                        </div>
                    </div>
                </div>

我有headerController.js

  function headerController($scope, $http, $rootScope) {
        var vm = this;


    }

Index1.html

这是索引1页面。索引1真漂亮

Index2.html

这是索引2页面。索引2很棒

索引3.html

这是索引3页面。索引3真可爱

我正在使用angularjs进行开发,因此当我搜索beautiful关键字时,应该向我显示一个弹出窗口(不警告),该美丽单词在索引1页面中。如果我搜索单词wonderful,它应该在弹出窗口(不是警告)中告诉我索引2页面中有精彩内容。我尝试了其他静态搜索类型,这些类型指向要过滤和搜索的元素的ng-repeat列表。但是我怎么能做到这一点

我尝试查看此示例,但出现错误

http://plnkr.co/edit/FMRTTbxdNv0pGSYpfwve?p=preview

错误是

Error: [$injector:unpr] http://errors.angularjs.org/1.7.2/$injector/unpr?p0=%24routeParamsProvider%20%3C-%20%24routeParams%20%3C-%20searchResultsController
    at angular.js:99
    at angular.js:4891
    at Object.d [as get] (angular.js:5051)
    at angular.js:4896
    at d (angular.js:5051)
    at e (angular.js:5076)
    at Object.instantiate (angular.js:5120)
    at angular.js:11175
    at Object.<anonymous> (angular-ui-router.min.js:7)
    at angular.js:1364 "<div class="well ng-scope" ui-view="">"

1 个答案:

答案 0 :(得分:0)

在SearchResultsController中这样的事情(未经测试):

$scope.results = [];

$http.get(url1).then(function(result){if(result.data.contains($scope.query)) $scope.results.push("url1")});

$http.get(url2).then(function(result){if(result.data.contains($scope.query)) $scope.results.push("url2")});

$http.get(url3).then(function(result){if(result.data.contains($scope.query)) $scope.results.push("url3")});

然后在您的html页面中

<div ng-repeat="result in results">Found in: {{result}}</div>