如果我的主题足够描述,我会尽力描述我在做什么。我真的想学习和理解Angular,我来自Backbone.js。
我的设置是使用RequireJS Angular和AngularAMD(http://marcoslin.github.io/angularAMD/)
我使用出去的路线设置了我的页面,并从视图目录中获取不同的视图。但是,我试图从主页面中取出导航并将其放在自己的外部视图中。
我觉得这很容易我只是不够精通Angular来做到这一点。我在想我需要一个navigationController,但我不知道如何加载外部视图,就像我可以使用路径一样。
angular
.module('app', [
'ngRoute',
])
.config(config)
config.$inject = ["$routeProvider"];
function config($routeProvider) {
$routeProvider
.when('/', angularAMD.route({
templateUrl: 'views/home.html',
controller: 'homeController',
controllerUrl: 'controllers/home'
}))
}
所以这很简单,当我的网址是/它将加载home.html模板和适当的控制器。如何在其中加载导航模板,使其包含在所有页面上?我是否必须使用工厂或其他东西?
答案 0 :(得分:1)
要在所有页面中获得导航,您有多种选择。最简单的是你可以将它直接放入主标记中。
<body ng-app="app">
<div ng-include="'views/nav.html'"></div>
<div ng-view></div>
</body>
你可以做的另一件事就是使用ui-router,但这会更有效,但根据你的使用情况,它可能是值得的。
答案 1 :(得分:0)
我只是希望每个人都知道我最终做的是将所有东西分成模块。现在我有一个页眉,页脚&amp;导航模块以及各种其他模块。
在“推荐设置”下准备好https://docs.angularjs.org/guide/module后,我觉得这可能是我想要完成的最佳方法。
虽然上面的示例很简单,但它不会扩展到很大 应用。相反,我们建议您将应用程序分解为 像这样的多个模块:
A module for each feature A module for each reusable component (especially directives and filters) And an application level module which depends on the above modules and contains any initialization code.