【发布时间】:2015-09-05 21:12:24
【问题描述】:
我正在开发像 webapp 这样的电子商务来学习 Angular。我的主页上有一个菜单(在所有页面上通用且可见),它提供了可用的产品,例如书籍、衣服等
在我的菜单上,我列出的项目如下:
<li><a href="#/SearchProducts" ng-click="searchProduct('Computers')">Computers</a></li>
<li><a href="#/SearchProducts" ng-click="searchProduct('Academics Professional')">Academics & Professional</a></li>
我的第一个控制器中的 searchProduct 函数在范围内设置所选产品并设置 location.path。
$scope.searchProduct =function(productTBSearched){
$scope.TBFProduct=productTBSearched;
$location.path("/SearchProducts");
}
我的第一个控制器中也有路由提供程序,它引用另一个 html 和第二个控制器。
$routeProvider.when("/SearchProducts", {
templateUrl: "./views/HomeSearchProducts.html" ,
controller: "productSearchCtrl"
});
在我的第二个控制器中,我调用 REST WS 来搜索数据库并构建我的响应 JSON。问题是当我单击主页菜单上的第一项时,我得到搜索结果,我可以看到我的 URL 更改为“.......Index2.html#/SearchProducts”
现在在这个页面上,当我尝试选择另一个菜单项时,Routeprovider 不会再次调用“ProductSearchCtrl”,并且不会对新选择的项目执行 Ajax 调用。有人可以帮忙吗?
【问题讨论】:
-
首先,ng-click和href一起使用没有意义
-
谢谢尼基尔。这确实有道理。我已经删除了href,但我仍然遇到同样的问题。
-
我添加了一个解决方案。请看看它是否符合您的需要。
标签: angularjs