NavBar链接未在重定向上更新

时间:2016-11-25 03:10:38

标签: angularjs

我有一个导航栏指令,它应该根据路由产生链接(例如,管理面板不同)。

当我手动编写地址时,一切正常,但是当我使用时:

<a href="admin">Link</a></footer>

链接它重定向到页面,而不是在导航栏中加载新链接(它们保持与旧页面相同)。

  directive('navBar', [
    function() {
      return {
        controller: function($scope, pagesFactory, $location) {
          var path = $location.path().substr(0, 6);
          if ($location.path() == "/admin/login")
            return;
          else if (path == "/admin") {
            $scope.navLinks = [{
              title: 'Pages',
              url: 'admin/pages'
            }, {
              title: 'Site Settings',
              url: 'admin/site-settings'
            }, ];
          } else {
            pagesFactory.getPages().then(
              function(response) {
                $scope.navLinks = response.data;
              }, function() {

              });
            }
          },
          templateUrl: 'partials/directives/nav.html'

        };
    }
  ])

路径更改后有没有办法运行控制器?

EDIT @ 1:

当我尝试使用$ location.path(&#39; / admin / pages&#39;)时,同样的事情发生了;即使我也使用$ scope.apply()。

基本上,当路径更改不是手动时,它不会重新加载指令。

使用以下方式修复:

$scope.$on("$routeChangeSuccess", function() ...

0 个答案:

没有答案