2013-04-04 172 views
0

我有一个要求,说当某些URL被请求时,我需要改变视图并用相应的数据显示一些统一的视图。如果我可以手动添加路线来匹配那些网址,然后使用相同的templateUrlcontroller来渲染视图,这将会很容易。动态地更改ngView的内容

就我而言,这有点复杂。这些路线正在动态生成。简而言之,在我正在开发的项目中,我需要给用户[实际开发人员]定义站点地图的能力,并且根据用户选择的特定标准,某个节点的子节点(具有动态生成的URL)将显示在菜单中或作为通用视图中的图块显示。

我已经有菜单部分工作得很好。我仍然需要找出一种方法来为ngView提供合适的模板和数据来渲染图块。这甚至有可能吗?

UPDATE:

我想我可以用在$routeProvider服务otherwise方法来实现类似的东西。该文档说,当没有为某个URL定义路由时,该方法被触发。

如果有人确认这是一个可能的解决方案,并且如果有更好的东西请分享,我将不胜感激。提前致谢。

+0

需要比只是说everyhting是'dynamic'更具体。在plunker中创建一个演示,给出问题概述 – charlietfl 2013-04-04 21:22:42

+0

您是否试图在页面上呈现相同视图/控制器的多个实例? – Sylvain 2013-04-05 00:45:25

+0

动态生成的URL可以在角度脚本文件中访问? – 2014-10-10 09:35:27

回答

1

我也有这个问题。请看看这可能有帮助。

HTML:

<a href="" class="btn btn-success" ng-click="changeView()">Switch View</a> 
<div ng-include="viewTemplate"></div> 

控制器:

$scope.changeView = function() { 
      if ($scope.isParcelYearGrid) { 
       $scope.viewTemplate = '../app/parcelMassEntry/parcelMassEntryGrid.html'; 
      } 
      else { 
       $scope.viewTemplate = '../app/parcelMassEntry/parcelMassEntry.html'; 
      } 
     };