AngularJS:在设置路径解析和删除ng-controller指令时,函数不起作用

时间:2016-08-08 09:02:02

标签: angularjs

我使用路由解析来阻止在执行某些功能之前加载视图,然后我在这里阅读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/ 我是否误解了这些概念?导致这个问题的原因是什么?以及如何解决它?

1 个答案:

答案 0 :(得分:0)

嗯,我尝试的解决方案根本就不是使用路由解析,我只是直接从服务中返回搜索结果,这样:

        $scope.filteredModules = searchForService.getfilteredModules();