我的任务是为大型角度应用程序设置初始应用程序结构,我遇到了一些博客文章,基本上说一切都应该是一个指令(我大多赞同),但我有一种感觉,我已经采取了这个想法太过分了..
我得到的基本上是 - 当你导航到portal
ui-router将从templates文件夹加载门户模板时,实际模板内的所有内容都是<portal-view></portal-view
.. {{1基本上整个视图都包含在一个指令中。
路线
portalView
portal.tpl.html
angular.module('portal').config([
'$stateProvider', '$urlRouterProvider', function ($stateProvider, $urlRouterProvider) {
$stateProvider.state('portal', {
url: "/",
templateUrl: "templates/portal.tpl.html"
});
}]);
portalView指令
<div class="container">
<portal-view></portal-view>
</div>
portalView文件夹
在我的脑海中,这似乎是一个好主意,但当我们开始向应用程序添加更多视图时,我可以成为一件苦差事,但我希望一些有角度的专家会告诉我这是最好的方法:)
非常感谢任何帮助,建议和链接!
答案 0 :(得分:3)
对视图进行组件化并将其置于指令中对我来说是一个明智的想法。如果发生这种情况,这将简化向另一个路由器的迁移。
如果您打算遵循这种做法, portal.tpl.html
是不必要的,template: '<portal-view></portal-view>'
就足够了。但是如果你有计划将模板用于css和js资产加载(使用模板中的脚本不是直截了当,但有可能),请不要拒绝它,它会非常适合该方案。