Angularjs 同一搜索输入的多个路由

Angularjs 同一搜索输入的多个路由,angularjs,Angularjs,我有多个视图,但导航栏上有相同的搜索输入,问题是:如何使用导航栏中的输入更新view1Ctrl、View2Ctrl或anyCtrl中的数据 ----编辑1---- 我的问题不具体 我想使用导航栏中的输入来更新view1Ctrl、View2Ctrl或anyCtrl中的数据,以及控制器如何知道是否使用了serch输入? 在实际代码中,我有一个服务,它调用$HTTPGET函数,并在成功时更新数组 $scope.loadMore = function() { $scope.busy = true dat

我有多个视图,但导航栏上有相同的搜索输入,问题是:如何使用导航栏中的输入更新view1Ctrl、View2Ctrl或anyCtrl中的数据

----编辑1---- 我的问题不具体


我想使用导航栏中的输入来更新view1Ctrl、View2Ctrl或anyCtrl中的数据,以及控制器如何知道是否使用了serch输入?

在实际代码中,我有一个服务,它调用$HTTPGET函数,并在成功时更新数组

$scope.loadMore = function() {
$scope.busy = true
data.all(page)
    .then(function success (response) {
        var data = response.data
        for(var i = 0; i < data.length; i++) {
            $scope.array1.push(data[i])
        }
        page++

        $scope.busy = false
    })
}

$scope.searchData = function (search) {
$scope.busy = true
$scope.array1 = [];
data.all(page, search)
    .then(function success (response) {
        var data = response.data
        for(var i = 0; i < data.length; i++) {
            $scope.array1.push(data[i])
        }
        page++

        $scope.busy = false
    })
}
尝试此嵌套视图:

.state('home.nav', {
                    url: "/",

                    'content@': {
                        templateUrl: './navbar.html',
                        controller: 'view1Ctrl'
                    }
                })
或者您可以使用摘要:

.state('my-app', {
                      abstract: true,
                      views: {
                          'navtest': {
                              templateUrl: './pathTonav',
                              controller: "navcontroller"
                          }
                      }
                  })
然后可以将新的自定义元素添加到根html页面:

<div ui-view="navtest"><\div>

尝试此嵌套视图:

.state('home.nav', {
                    url: "/",

                    'content@': {
                        templateUrl: './navbar.html',
                        controller: 'view1Ctrl'
                    }
                })
或者您可以使用摘要:

.state('my-app', {
                      abstract: true,
                      views: {
                          'navtest': {
                              templateUrl: './pathTonav',
                              controller: "navcontroller"
                          }
                      }
                  })
然后可以将新的自定义元素添加到根html页面:

<div ui-view="navtest"><\div>

app.directive('navbar',function(){
返回{
限制:“EA”,
templateUrl:'./navbar.html',
控制器:“navbarCtrl”
}
});
应用程序控制器('navbarCtrl',函数($scope){
//你的搜索资料
}
app.directive('navbar',function(){
返回{
限制:“EA”,
templateUrl:'./navbar.html',
控制器:“navbarCtrl”
}
});
应用程序控制器('navbarCtrl',函数($scope){
//你的搜索资料
}

将您的onSearch放入服务中,您可以将其注入所有控制器,谷歌用于角度服务。或者您可以仅为导航栏创建一个控制器,并在每条路线上使用它。这是我的第一个想法,但控制器如何知道数据是否发生变化?将onSearch放入服务中,您可以将其注入所有控制器,谷歌用于angular服务。或者你可以只为导航栏创建一个控制器,并在每条路线上使用它。这是我的第一个想法,但控制器如何知道数据是否发生了变化?类似的事情?不,我已经解决了这一部分。如果你检查plunker,我想使用导航栏中的输入来更新view1Ctrl或View2Ctrl中的数据。不,我已经解决了解决了这一部分如果您检查plunker,我想使用导航栏中的输入更新view1Ctrl或View2CtrlI中的数据我想使用导航栏中的输入更新view1Ctrl、View2Ctrl或任意Ctrli中的数据我想使用导航栏中的输入更新view1Ctrl、View2Ctrl或任意Ctrl中的数据