标签+"全球"搜索标题

时间:2015-08-13 00:33:22

标签: angularjs ionic-framework angular-ui-router ionic

我创建了plunker来展示我的情景。请看一下。

问题在于,当我点击搜索输入时,我会被重定向到优惠标签。这不应该发生。当我在主页标签中点击搜索输入时,搜索应显示在主页标签内,而不是商品标签。< / p>

如果我点击优惠标签中的搜索输入,搜索应显示在商品标签内,而不是主页标签

因此导航在我的例子中搞砸了。

标签

<ion-tabs class="tabs-icon-top tabs-color-active-positive">

  <ion-tab title="Home" icon-off="ion-ios-home-outline" icon-on="ion-ios-home" ui-sref="app.home">
    <ion-nav-view name="tab-home"></ion-nav-view>
  </ion-tab>

  <ion-tab title="Promoções" icon-off="ion-ios-gear-outline" icon-on="ion-ios-gear" ui-sref="app.offers">
    <ion-nav-view name="tab-offers"></ion-nav-view>
  </ion-tab>

</ion-tabs>

$stateProvider.state('app', {
            abstract: true,
            templateUrl: 'main.html',
            controller: function(){}
        });

        $stateProvider
            .state('app.search', {
                url: '/search',
                views: {
                    'tab-home': {
                        templateUrl: 'search.html',
                        controller: function($scope, $state){
                      $scope.current = $state.current;
                      $scope.$on('$stateChangeSuccess', function(event, toState){
                        $scope.current = toState;
                      });
                    }
                    },
                    'tab-offers': {
                        templateUrl: 'search.html',
                        controller: function($scope, $state){
                      $scope.current = $state.current;
                      $scope.$on('$stateChangeSuccess', function(event, toState){
                        $scope.current = toState;
                      });
                    }
                    }
                }
            });

            $stateProvider
            .state('app.offers', {
                url: '/promos',
                views: {
                    'tab-offers': {
                        templateUrl: 'offers.html',
                        controller: function($scope, $state){
                          $scope.current = $state.current;
                          $scope.$on('$stateChangeSuccess', function(event, toState){
                            $scope.current = toState;
                          });
                        }
                    }
                }
            });

            $stateProvider
            .state('app.home', {
                url: '/home',
                views: {
                    'tab-home': {
                        templateUrl: 'home.html',
                        controller: function($scope, $state){
                          $scope.current = $state.current;
                          $scope.$on('$stateChangeSuccess', function(event, toState){
                            $scope.current = toState;
                          });
                        }
                    }
                }
            });

我的目标是

  • 点击搜索输入并且当前标签为主页时,请在主页选项卡中打开搜索。
  • 点击搜索输入,当前标签为优惠,然后在优惠标签中打开搜索。

我该如何做到这一点?

1 个答案:

答案 0 :(得分:0)

你真的应该让搜索成为各个标签的子项,以便你可以替换它们