结合ng-admin和ui-router

时间:2018-03-23 06:04:36

标签: javascript angularjs angular-ui-router ng-admin

我的AngularJS(1.4.9)项目是使用ui-router构建的,并且几乎没有这样的州:

.state('overview', {
  url: '/overview',
  parent: 'dashboard',
  templateUrl: 'views/dashboard/overview.html'
})
.state('settings', {
  url: '/settings',
  parent: 'dashboard',
  templateUrl: 'settings/views/index.html',
  controller: "SettingsCtrl"
})

现在我想添加想要集成ng-admin(0.9.1)。我已将其作为独立应用程序的独立应用程序进行了测试,如docs中所述,它可以正常运行。但我无法找到将其添加到当前项目的方法。

2 个答案:

答案 0 :(得分:1)

您必须使用ng-admin更改您的应用程序父状态,如下所示

// from
myApp.config(function ($stateProvider) {
    $stateProvider.state('send-post', {
        parent: 'main',
        url: '/sendPost/:id',
        params: { id: null },
        controller: sendPostController,
        controllerAs: 'controller',
        template: sendPostControllerTemplate
    });
});

// to
myApp.config(function ($stateProvider) {
    $stateProvider.state('send-post', {
        parent: 'ng-admin', // <= this has changed
        url: '/sendPost/:id',
        params: { id: null },
        controller: sendPostController,
        controllerAs: 'controller',
        template: sendPostControllerTemplate
    });
});

如需参考,请查看更新后的文件ng-admin

答案 1 :(得分:0)

我的工作&#39;解决方案是将ng-admin

添加到主项目状态外部链接
  .state('database', {
      onEnter: function($window) {
          $window.open('/ng-admin/ng-admin.html', '_self');
      }
  })