Angularjs 仅调用一次ngRoute RouteController
我有一个小提琴手来显示我的设置 问题是RouteControl函数在页面加载时只被调用一次,但是在散列更改时(由于链接单击),函数Angularjs 仅调用一次ngRoute RouteController,angularjs,ngroute,angularjs-ng-route,Angularjs,Ngroute,Angularjs Ng Route,我有一个小提琴手来显示我的设置 问题是RouteControl函数在页面加载时只被调用一次,但是在散列更改时(由于链接单击),函数RouteControl不会再次被调用 我在另一个ng模块中生成了链接,不确定链接是否必须与路由器在同一模块中 <div id="router"> <div ng-view></div> </div> <div id="navigation" data-ng-cloak> <
RouteControl
不会再次被调用
我在另一个ng模块中生成了链接,不确定链接是否必须与路由器在同一模块中
<div id="router">
<div ng-view></div>
</div>
<div id="navigation" data-ng-cloak>
<ul id="folios" data-ng-controller="FoliosController" class="nav nav-pills nav-stacked">
<li data-ng-repeat="folio in folios" ng-class="{active: isActive('/search/{{folio.productId}}')}">
<a href="#/search/{{folio.productId}}">{{folio.title}}</a>
</li>
</ul>
<div ui-view></div>
</div>
-
编辑:
这个问题得到了进一步的诊断。ng控制器生成的任何列表/锚点都不会对范围外的哈希更改做出响应,而静态链接是无效的。在plunkr链接中,“foo”和“bar”单击会触发控制器,但“abc”和“def”不会触发。请复习。问题是如何使“abc”和“def”(动态链接)也对变化作出响应
代码按照您的编码方式正常运行。您正在控制器的构造函数中调用
routeController
,但它不会在其他任何地方被调用(路由器也不会这样做)
如果需要在每个路由更改中调用谢谢@sma的回复,我对angular比较陌生,你能帮我做一些代码演示吗。我假设ngRoute一直在监视我的url,并会在哈希更改时调用RouteControl我相信它已经注定会在配置中更改路由,在
中,当函数调用将plunk添加到我的答案中时如果你使用ngRoute,那么你可以改用$routeChangeSuccess基于我所了解的,我已经更新了我的小提琴,但仍然没有成功,敬请检阅