我使用路由解析来阻止在执行某些功能之前加载视图,然后我在这里阅读Error: Unknown provider: employeesProvider <- employees我必须删除ng-controller
,然后我做了
<div > <!-- ng-controller="navBar" has removed from here -->
<div ng-include="'...../partitials/navBar.html'"></div>
</div>
这是路线提供者
$routeProvider
.when("/ERPdocumentation/", {
templateUrl : function(params){
// code here
return template
},
controller: "navBar",
resolve: {
filteredModules: function (searchForService) {
return searchForService.getfilteredModules();
}
}
});
但是,这使得某些功能不再适用于navBar
控制器,例如,当我点击此按钮时:
<md-button ng-click="routeToSearchPage (searchString)">
,这些功能在navBar
控制器中无效:
angular.module("myApp")
.controller("navBar", function ($scope,filteredModules, $location) {
$scope.filteredModules = filteredModules;
$scope.routeToSearchPage = function(searchString){
console.log("route") // nothing happened here
$location.search("search", searchString);
$location.path($location.$$path);
};
})
.factory("searchForService", function(){
return {
getfilteredModules: function(){
// code here to get search results
}
}
})
https://jsfiddle.net/e1vfrcrf/14/ 我是否误解了这些概念?导致这个问题的原因是什么?以及如何解决它?
答案 0 :(得分:0)
嗯,我尝试的解决方案根本就不是使用路由解析,我只是直接从服务中返回搜索结果,这样:
$scope.filteredModules = searchForService.getfilteredModules();