jHipster在新创建的实体对话框控制器上注入“实体” - 目的?

时间:2017-05-09 20:52:50

标签: angular entity jhipster

当jHipser创建新实体(newEntity)时,在newentity-dialog.controller.js中它注入实体:

NewEntityDialogController.$inject = ['$timeout', '$scope', '$stateParams', '$uibModalInstance', '$q', '*entity*'];

然后用它来设置vm.newEntity:

    vm.newEntity = *entity*;

我不明白什么是实体,在哪里定义以及目的是什么。

1 个答案:

答案 0 :(得分:0)

此答案假设您的实体在问题中的名称为NewEntityentity在您的实体状态中定义。如果您查看实体的状态文件new-entity.state.js(位于src/main/webapp/app/entities/new-entity/new-entity.state.js),您将在解析部分中看到以下内容:

resolve: {
    entity: ['$stateParams', 'NewEntity', function($stateParams, NewEntity) {
        return NewEntity.get({id : $stateParams.id}).$promise;
    }]
}

Resolve是ui-router的一部分,允许您将自定义内容/数据注入状态。 entity的{​​{1}}部分按ID加载您的实体,并在控制器的resolve变量下显示。

有关entity工作原理的详细信息,请参阅ui-router Github wiki

  

您可以使用resolve为您的控制器提供自定义状态的内容或数据。 resolve是一个可选的依赖关系图,应该注入控制器。