我目前正在評估AngularJS作爲潛在的MVC框架。我想知道實現以下場景的「正確」方式是什麼 -AngularJS控制器設計
說我正在設計一個用戶詳細信息頁面。它被分解成不同的標籤,如基本信息標籤(姓名,電子郵件......),用戶感興趣的內容標籤(下拉菜單,如體育,音樂..)等
因此,代碼如下所示:
<!-- main.html-->
<div ng-controller="UserController">
<div ng-switch on="renderPath">
<div ng-switch-when="basicInfo">
<div ng-include src="basicUrl"></div>
</div>
<div ng-switch-when="interests">
<div ng-include src="interestUrl"></div>
</div>
</div>
</div>
和interests.html看起來像
<div>
<div class="dropdown">
<a class="dropdown-toggle" id="dLabel" role="button" data-toggle="dropdown" data-target="#" href="/page.html">
I like to play:
</a>
<ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
<li ng-repeat="sport in sports">{{sport}}</li>
</ul>
<a class="dropdown-toggle" id="A1" role="button" data-toggle="dropdown" data-target="#" href="/page.html">
I like to listen to:
</a>
<ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
<li ng-repeat="genre in genres">{{genre}}</li>
</ul>
</div>
</div>
所以現在的問題是,從UserController的旁白,我應該創建爲「BA單獨的控制器sicInfo「和」「興趣」選項卡?爲什麼我可能要創建InterestsController的原因是因爲我沒有必要想到
$scope.sports= ['baseball', 'bastketball'];
$scope.genres= ['pop', 'classical'];
應該住在UserController中因爲只有Interest.html關心的利益不同的選擇。另外用戶控制器可能會變得真正快速,因爲該頁面將有許多其他選項卡。
但在同一時間,在角的文檔 - *「在角,一個模型是可達的角度範圍對象的性能的任何數據」 *,我覺得如果我再有一個InterestsController等,其模型是相當隨意的,因爲它只包含該選項卡所需的信息。
那麼最佳做法是什麼?我希望我清楚地解釋自己。 謝謝。
謝謝你的解釋! – badallen