AngularJS和_target = self与路由

时间:2014-03-20 18:58:48

标签: asp.net-mvc angularjs angular-routing

我知道一个有点奇怪的问题但是我试图找出将角度路由与标准页面混合的方法。

我有一个菜单系统有4个项目,只有一个目标是_self,路由工作正常。

有问题的页面是我的整体网站布局页面,我试图实现的是一旦我用菜单切换回由角度路由管理的所有内容中的所有内容和id为"整版内容"被删除。

 <div id="full-page-content">@RenderBody()</div>
 <ng-view></ng-view>

从长远来看,我会让角度管理一切,但我从迁移的角度思考这个问题。

由于

1 个答案:

答案 0 :(得分:1)

为什么不创建一个指令来执行此操作来检查当前路由,然后清除它是否更改为非由angular驱动的路径之外的其他路径。

这样的事情:

app.directive("clearWhenNot", function($location){

  return {

    scope: { selfRoute: "@clearWhenNot" },    

    link: function (scope, element, attributes) {
      // watch location.path
      scope.$watch( 
        function (){ return $location.path(); }, 

        function(newVal, oldVal){
          // blank the html if the route isn't the _self one.
          if(newVal != scope.selfRoute){
            element.html('');
          }
        }
      );
    } 
  }

});

我没有对此进行过测试,所以让我知道它是否有效 - 可能存在拼写错误!

编辑使用它:

<div id="full-page-content" clear-when-not="somenonangularroute">
    @RenderBody()
</div>

如果您不在www.yourapp.com/somenonangularroute,那将清除该页面。