如何分别为角度组织用户和管理员的路线

时间:2016-10-26 06:24:09

标签: angularjs node.js

我正在研究Angular&节点应用。我的所有视图文件都存储在公共场所,我创建了一个中间件来访问静态文件,如下所示:

app.use(express.static(__dirname+ "/public"));

现在,当我运行我的应用localhost://3000/#/时,首先执行index.html文件,只放置页眉和页脚,然后放置ng-view部分。

现在我想知道,我必须放置admin个html文件,以便我可以像localhost://3000/#/admin/dashboard一样访问网址。

即使User视图布局也不同于admin布局。

如何整理user admin个观看文件及其路线?

3 个答案:

答案 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>

和其他人类似......