我正在研究Angular&节点应用。我的所有视图文件都存储在公共场所,我创建了一个中间件来访问静态文件,如下所示:
app.use(express.static(__dirname+ "/public"));
现在,当我运行我的应用localhost://3000/#/
时,首先执行index.html
文件,只放置页眉和页脚,然后放置ng-view
部分。
现在我想知道,我必须放置admin
个html文件,以便我可以像localhost://3000/#/admin/dashboard
一样访问网址。
即使User
视图布局也不同于admin
布局。
如何整理user
admin
个观看文件及其路线?
答案 0 :(得分:0)
首先在(public / views)中创建一个admin.view.html文件。然后将admin.view.html调用到同一文件夹public中的app.js(就像app.js中的这种方式)
.config(['$routeProvider', function($routeProvider) {
$routeProvider.
when('/admin', {
templateUrl: 'views/admin.view.html',
controller: 'AdminCtrl'
})
之后,在同一文件夹中创建一个新文件夹(控制器),并生成一个文件admin.controller.js。然后从文件夹中走出来并在routes文件夹中创建一个admin.js文件。如果你从中得到它的好处或者只是给你的邮件,我将邮寄给你一个由我制作的角度和节点的项目,这可能会对你有所帮助
答案 1 :(得分:0)
基本上,对于这样的应用程序,您必须在每个URL上都有一个名为“permission”的东西。
但对于你上面提到的具体案例。您可以使用ng-if条件指令来显示要在每个视图中显示的内容(admin / user)。
您无需将user.html文件和admin.html文件分开。 你只需要一个index.html,里面有布局。 (管理员或用户必须具有相同的布局页面吗?)。您应该将此视图分隔为多个角度模块(菜单栏,选项卡,工具栏...),并使用ng-if显示您要显示的内容。
答案 2 :(得分:0)
要调用管理员布局,您应该希望这对您有用
.config(['$routeProvider', function($routeProvider) {
$routeProvider.
when('/admin', {
url: '/admin',
templateUrl: 'views/admin/layout.html'
}).
when('admin.login', {
url: '/admin/login',
templateUrl: 'views/admin/login.html',
controller: 'AdminLoginCtrl'
})
然后您需要创建这个新的布局页面。在:views / admin / layout.html
<div>
<ui-view/>
</div>
和其他人类似......