动态更改ngView的内容

时间:2013-04-04 20:10:06

标签: javascript angularjs angularjs-directive

我有一个要求,即当请求某些网址时,我需要更改视图并显示一些带有相应数据的统一视图。如果我可以手动添加路由以匹配这些网址,然后使用相同的templateUrlcontroller来呈现视图,那么这将非常简单。

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

我的菜单部分工作得很好。我仍然需要找到一种方法来为ngView提供适当的模板和数据来渲染切片。这甚至可能吗?

更新

我想我可以在otherwise服务上使用$routeProvider方法来实现类似的功能。文档说明在没有为某个URL定义路由时会触发此方法。

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

1 个答案:

答案 0 :(得分: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';
            }
        };