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



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

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

然后使用它来设置 vm.newEntity:

    vm.newEntity = *entity*;

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

这个答案假设你的实体被命名NewEntity就像你的问题一样。 entity在实体的状态中定义。 如果查看实体的状态文件new-entity.state.js(位于 src/main/webapp/app/entities/new-entity/new-entity.state.js (,您将在 resolve 部分看到以下内容:

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

Resolve是ui路由器的一部分,允许您将自定义内容/数据注入到状态中。 resolveentity部分按 ID 加载实体,并使其在控制器中的 entity 变量下可用。

有关resolve工作原理的更多信息,请参阅 ui-router Github wiki:

可以使用resolve为控制器提供状态自定义的内容或数据。 resolve 是应注入控制器的可选依赖项映射。

最新更新