Angularjs Angular JS RouteProvider不调用

Angularjs Angular JS RouteProvider不调用,angularjs,Angularjs,我正在做一个像webapp这样的电子商务学习。我在我的主页上有一个菜单(在所有页面上都是常见的和可见的),它提供可用的产品,例如书籍、衣服等 在我的菜单上,我有如下列表项: 我的第一个控制器中的searchProduct函数设置范围中的选定产品并设置location.path $scope.searchProduct =function(productTBSearched){ $scope.TBFProduct=productTBSearched;

我正在做一个像webapp这样的电子商务学习。我在我的主页上有一个菜单(在所有页面上都是常见的和可见的),它提供可用的产品,例如书籍、衣服等

在我的菜单上,我有如下列表项:

  • 我的第一个控制器中的searchProduct函数设置范围中的选定产品并设置location.path

    $scope.searchProduct =function(productTBSearched){      
                $scope.TBFProduct=productTBSearched;
                $location.path("/SearchProducts");
            }
    
    我的第一个控制器中也有路由提供程序,它引用了另一个html和第二个控制器

    $routeProvider.when("/SearchProducts", {                
        templateUrl: "./views/HomeSearchProducts.html" ,
        controller: "productSearchCtrl"
    });
    
    在我的第二个控制器中,我调用RESTWS来搜索DB并构建我的响应JSON。问题是,当我点击主页菜单上的第一项时,我会得到搜索结果,我可以看到我的URL变为“……Index2.html#/SearchProducts”


    现在在这个页面上,当我尝试选择另一个菜单项时,Routeprovider不会再次调用“ProductSearchCtrl”,也不会对新选择的项执行Ajax调用。有人能帮上忙吗?

    我想你正在尝试重新加载路线。您可以将代码更新为如下所示,以便重新加载路由

    $scope.searchProduct =function(productTBSearched){      
        $scope.TBFProduct=productTBSearched;
        if($location.path() === "/SearchProducts") {
            $route.reload();
        } else {
            $location.path("/SearchProducts");
        }
    }
    

    首先,一起使用ng click和href是没有意义的。谢谢Nikhil。这是有道理的。我已经删除了href,但仍然存在相同的问题。我添加了一个解决方案。请看它是否符合您的需要。它解决了问题。非常感谢您的及时回复。