2013-04-04 261 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'; 
      } 
     };