首页 > 解决方案 > 使用搜索框导航到其他状态

问题描述

现在我成功地将数据从页面传递到另一个状态。我有一个导航栏搜索框,它的视图完全不同。现在,当我开始在搜索框中输入内容时,应该通过过滤data.name(在我的数据中)来显示列表。

单击特定名称后,它应该导航到该特定状态。

现在我可以通过sref点击侧边栏来做到这一点。我想对搜索框做同样的事情。

导航栏应该有不同的控制器吗?

我可以在搜索框中做 ui-sref 吗?

编辑:- 用于调用数据的控制器

app.controller('navController', ['$scope', '$http', '$state' , '$stateParams' , function($scope, $http, $state , $stateParams) {

        $scope.UserData = function(){
            var req = {
                method: 'GET',
                url: './pdata.json',
            }
            $http(req).then(function successCallback(response) {            
                $scope.viewuser = response.data;  
                    console.log($scope.viewuser);
            }, function errorCallback(response) {                
                $scope.message = "error";           
            });
        }
       $scope.UserData();
}]);  

路线:-

.state('home.userTest', {
            url: '/view-userTest/:name',
            templateUrl: 'views/dashboard/routeUser.html',          
            controller: 'receive'
   })

查看:- 用于侧边栏(与导航栏中的想法相同)

<p ng-repeat="o in viewuser">
   <a ui-sref="home.userTest({name: o.name})">

标签: angularjsangular-ui-routersearch-boxui-sref

解决方案


我相信您需要一个用于导航栏的控制器,但是如果没有一些工作代码就很难。您应该提供一个小提琴或 plunker 代码,以便人们了解您的情况。

我假设当您在搜索框中输入时,选项列表将显示在输入下方。列表中的每一项都必须有ui-sref值,所以当你点击一个时,状态会改变。

同样,这是一个想法。我不知道你的代码看起来如何。


推荐阅读