【发布时间】:2014-10-11 07:39:49
【问题描述】:
我在谷歌上搜索了一些关于这个主题的信息,但我无法得到关于这个主题的明确答案,所以如果这似乎是一个非常失败的问题,我深表歉意。不久前我开始使用 Angular,我真的很想走上好的道路。
应用程序由app.js 引导,它定义了配置中的路由。 index.html 有一个带有 ng-app 指令的主体,内部只有一个带有 ng-view 的 div。
$routeProvider
.when('/', {
templateUrl: 'views/main.html',
controller: 'MainController'
})
.otherwise({
redirectTo: '/'
});
main.html 和控制器是应用程序的主体,非常简单。
现在我想要一个标题,它要么显示登录名,要么显示来自用户的信息。我认为那应该是另一个控制器和另一个视图,因为标题应该封装所有代码而不是污染主视图。
我该怎么办?
我可以删除
ng-app并为标题和主应用程序创建两个不同的控制器,但是我不知道如何将每个视图关联到每个ng-controller就像routeProvider正在做的那样,虽然如果我不介意写所有的 html 内联,这应该工作。我也会失去我并不真正想要的路由。我可以在应用程序内创建一个
ng-controller=headerController并且仍然有内联代码。是否可以选择将模板与没有路由定义的控制器关联?
在我有更好的选择之前,我目前要做的是将所有这些逻辑添加到 mainController。我只是觉得我正在构建大块而不是我可以组成的小块。想象一下,我又做了三个需要标题的路线。使用选项 1) 或 2) 我将不得不在这些视图中再次为标题编写模板 html。
我将不胜感激任何链接或帮助,我真的很好奇如何以模块方式处理这个问题。
提前谢谢你。
【问题讨论】:
标签: javascript angularjs