您的位置:首页 > Web前端 > AngularJS

基于angularjs单页面应用web的全站搜索思路心得

2018-01-31 18:05 302 查看
1.html部分,在搜索框中加上keydown监听事件,在搜索按钮上加上点击事件,这样在搜索框中按enter键就可以搜索

<input type="text" id="webSiteSearchInput" ng-model="app.keyword" ng-keydown="funKeyDownSearch($event)" placeholder="请输入关键字..." />

<a class="btnSearch" ng-click="webSiteSearch()"><i class="fa fa-search"></i> 诚信搜索</a>

2、在主页面的js中,点击事件方法,不为空时,跳转搜索页,若停留到搜索页,则reload搜索页;已经keydown监听enter键,然后调用搜索事件

$scope.webSiteSearch = function () {

          if ($scope.app.keyword == "") {

              sp.dialog("关键字不能为空!");

          } else {

              sessionStorage.setItem("chengXinWebKeyWord", $scope.app.keyword);

              if($location.path() =='/credible/keyWordSearch'){

                $state.reload('credible/keyWordSearch')

              }else{

                $location.path('credible/keyWordSearch');

              }

              //alert($scope.app.keyword);

          }          

      }

      $scope.funKeyDownSearch = function (e) {          

          var keycode = window.event ? e.keyCode : e.which;         

          if (keycode == 13) {

              $scope.webSiteSearch();

          }          

      };

3.搜索结果展示页---

3.1. 获取到富文本里面搜索内容之后,将里面的所有html标签,都替换掉,然后截取长的以省略号显示

                    var objString = item.CONTENT; //接收新闻内容

                    var dd = objString.replace(/<\/?.+?>/g, "");  ///替换html标签

                    var dds = dd.replace(/ /g, ""); ////替换空格

                    var objLength = dds.length;

                    var num = 190;

                    if (objLength > num) {

                        dds = dds.substring(0, num) + "...";

                        item.CONTENT = dds;

                    } else {

                        item.CONTENT = dds;

                    }

3.2. 根据后台返回的联查询的数据库表明,进行拼接跳转路径url

                /////得到当前网址,然后截取前面部分,最后与各个不同表的链接拼到一起

                var get_url = $location.absUrl(); ///得到网址

                var get_url_split = get_url.split('credible'); ///将网址拆分成数组,

                var set_url = get_url_split[0]; ///取数组前面部分

                   if (item.TYPE == "PICTURENEWS") {

                        //图片新闻

                        item.URL = set_url + "credible/imgNewsDetail?id=" + item.ID + "";

                    } else if (item.TYPE == "HONESTYCULTURE") {

                        //诚信文化

                        item.URL = set_url + "credible/cultureDetail?id=" + item.ID + "";

                    } else if (item.TYPE == "GENERALNEWS") {

                        //普通新闻

                        item.URL = set_url + "credible/problemsDetail?id=" + item.ID + "";

                    } else if (item.TYPE == "POLICYREGULATION") {

                        //政策法规

                        item.URL = set_url + "credible/policyDetail?id=" + item.ID + "";

                    } else {

                        //政策图解

                        item.URL = set_url + "credible/policyImg?id=" + item.ID + "";

                    }

在线网上浏览网址:http://47.92.116.158:8872/chengxinweb/#/credible/index
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: