2016-09-25 28 views
0

我正在開展一個個人項目,我正在嘗試在單一狀態下使用ui視圖嵌入另一個視圖。如何在一個狀態下嵌套在另一個ui-view中的ui-view?

所以這是事情,網址有2個參數,第二個參數是可選的,所以如果用戶添加第二個參數,我會在我加載的頁面內顯示額外的信息。

下面是代碼的一部分:

app.js

.state('students', { 
     url: '/students/:id/grade/:num', 
     templateUrl: function ($stateParams) { 
      return $stateParams.students + '.html'; 
     }, 
     controllerProvider: function($stateParams) { 
      var Ctrlname = $stateParams.students + 'Ctrl'; 
      return Ctrlname; 
     } 

的index.html

<ul> 
    <li><a ui-sref="students({id: '1', grade: ''})">Student 1</a></li> 
    <li><a ui-sref="students({id: '2', grade: ''})">Student 2</a></li> 
</ul> 
<div ui-view></div> 

1.HTML

<div> 
    <ul> 
     <li><a ui-sref="">Math</a></li> 
     <li><a ui-sref="">English</a></li> 
     <li><a ui-sref="">History</a></li> 
    </ul> 

所以我懷疑在這裏是,我將如何實現這一點,使用單一的狀態。我是否必須在app.js上添加更多信息,以及我在1.html文件的ui-sref中添加了哪些內容?

回答

0

塊:

templateUrl: function ($stateParams) { 
     return $stateParams.students + '.html'; 
    }, 

建議你每生幾個模板。理想情況下,您應該有一個包含動態內容的模板。

你可以用簡單的ng-ifng-show來實現你所需要的。

所以你的控制器可能有類似:

if ($stateParams.num) { $scope.gradeNum = $stateParams.num ... }

而且在模板:

<div ng-show="">.....Grade Additional Info</div>

+0

是的,我知道這將是把我需要做到這一點的最好辦法另一個ui視圖。 – SujaM

相關問題