我在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中时它不起作用(不显示建议),但当我单独使用它只有一个控制器时,它可以工作。我的问题是找到一种方法将它包含在显示的任何页面中(在任何调用的控制器中)。 感谢回复!!!
答案 0 :(得分:1)
相对简单,您只需将{h}保留在ng-view
之外,并确保容器有ng-controller="autocompleteController"
routeProvider仅影响ng-view