【问题标题】:How to define a controller which will be visible all time Angularsjs如何定义一个始终可见的控制器Angularsjs
【发布时间】:2014-09-09 01:40:44
【问题描述】:

我在 Angularjs 中有这样定义的路由:

mainApp.config(['$routeProvider',
  function($routeProvider) {
    $routeProvider.
      when('/test', {
        templateUrl: 'templates/test.html',
        controller:'testController'
      }).
      otherwise({
        redirectTo: '/'
      });
}]);

现在我有一个自动完成功能(输入),它必须对所有页面可见:

mainApp.controller('autocompleteController',function($scope,dataFactory){
    dataFactory.get('test.json').then(function(data){
        $scope.items=data;
    });
    $scope.name="";
    $scope.onItemSelected=function(){
        console.log('selected='+$scope.name);
    }
});

.....

自动完成控制器有自己的模板,当我将它包含在 index.html 中时它不起作用(不显示建议),但是当我只使用一个控制器单独使用它时它可以工作。我的问题是找到一种方法将其包含在显示的任何页面中(在任何调用的控制器中)。 感谢回复!!!

【问题讨论】:

    标签: javascript angularjs autocomplete


    【解决方案1】:

    这比较简单,你只要把它的html放在ng-view之外,并确保容器有ng-controller="autocompleteController"

    routeProvider 只影响 ng-view 内部的内容

    【讨论】:

    • 这必须工作这是我试过的:
      自动完成的内容
      ???
    猜你喜欢
    • 2023-03-08
    • 2018-05-02
    • 1970-01-01
    • 2017-11-11
    • 1970-01-01
    • 2015-12-26
    • 2021-04-11
    • 1970-01-01
    • 2014-11-25
    相关资源
    最近更新 更多