当前位置: 首页 > news >正文

ABP-Book Store Application中文讲解 - Part 9: Authors: User Interface

ABP-Book Store Application中文讲解 - Part 9: Authors: User Interface

TBD

 1. 汇总

ABP-Book Store Application中文讲解-汇总-CSDN博客

2. 前一章 

ABP-Book Store Application中文讲解 - Part 8: Authors: Application Layer-CSDN博客

项目之间的引用关系。

​​

目录

1. 利用Angular Cli创建authors

 2. 更改AuthorModule

3. 定义菜单-Menu Definition

3.1. 更改path为/book-store的requiredPolicy

 3.2 新增path为/authors的菜单

3.3 route.provider.ts完整代码

4. ABP generate service proxy

5. 提示信息本地化

6. Author列表和新增、编辑、删除

 7. 继续学习


 

1. 利用Angular Cli创建authors

右击app文件夹,选择Open in Integrated Terminal打开Terminal页面,输入以下命令,敲回车:

ng generate module author --module app --routing --route authors 

​命令结束后,生成文件结构如下图所示: 

 2. 更改AuthorModule

/src/app/author/author.module.ts

import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';import { AuthorRoutingModule } from './author-routing.module';
import { AuthorComponent } from './author.component';
import { NgbDatepickerModule } from '@ng-bootstrap/ng-bootstrap';// new added
import { SharedModule } from '../shared/shared.module';// new added@NgModule({declarations: [AuthorComponent],imports: [CommonModule,SharedModule,// new addedAuthorRoutingModule,NgbDatepickerModule// new added]
})
export class AuthorModule { }

3. 定义菜单-Menu Definition

src/app/route.provider.ts

3.1. 更改path为/book-store的requiredPolicy

      {path: '/book-store',name: '::Menu:BookStore',iconClass: 'fas fa-book',order: 2,layout: eLayoutType.application,requiredPolicy: 'BookStore.Books || BookStore.Authors',// 新增加|| BookStore.Authors}

 3.2 新增path为/authors的菜单

      {path: '/authors',name: '::Menu:Authors',// iconClass: 'fas fa-user',parentName: '::Menu:BookStore',order: 4,layout: eLayoutType.application,requiredPolicy: 'BookStore.Authors',// new added}

3.3 route.provider.ts完整代码

import { RoutesService, eLayoutType } from '@abp/ng.core';
import { APP_INITIALIZER } from '@angular/core';export const APP_ROUTE_PROVIDER = [{ provide: APP_INITIALIZER, useFactory: configureRoutes, deps: [RoutesService], multi: true },
];function configureRoutes(routesService: RoutesService) {return () => {routesService.add([{path: '/',name: '::Menu:Home',iconClass: 'fas fa-home',order: 1,layout: eLayoutType.application,},{path: '/book-store',name: '::Menu:BookStore',iconClass: 'fas fa-book',order: 2,layout: eLayoutType.application,requiredPolicy: 'BookStore.Books || BookStore.Authors',// 新增加|| BookStore.Authors},{path: '/books',name: '::Menu:Books',// iconClass: 'fas fa-user',parentName: '::Menu:BookStore',order: 3,layout: eLayoutType.application,requiredPolicy: 'BookStore.Books',// new added},{path: '/authors',name: '::Menu:Authors',// iconClass: 'fas fa-user',parentName: '::Menu:BookStore',order: 4,layout: eLayoutType.application,requiredPolicy: 'BookStore.Authors',// new added}]);};
}

4. ABP generate service proxy

前置条件是需要保证Acme.BookStore.HttpApi.Host启动。

在angular根目录,然后ctrl+`新打开一个Terminal console,运行以下命令:

abp generate-proxy -t ng

生成完成后的目录结构如下图所示: 

5. 提示信息本地化

打开Acme.BookStore.Domain.Shared,找到Localization/BookStore文件夹,编辑en.json和zh-Hans.json。添加内容如下:

en.json

    "Menu:Authors": "Authors","Authors": "Authors","AuthorDeletionConfirmationMessage": "Are you sure to delete the author '{0}'?","BirthDate": "Birth date","NewAuthor": "New author","EditAuthor": "Edit author"

zh-Hans.json

    "Menu:Authors": "作者管理","Authors": "作者","AuthorDeletionConfirmationMessage": "你确定要删除作者 '{0}'?","BirthDate": "生日","NewAuthor": "新建作者","EditAuthor": "编辑作者"

6. Author列表和新增、编辑、删除

/src/app/author/author.component.ts

此处新增、编辑界面可以参考Book那一章进行分开设计,即生成create-update-author component,然后动过NgbModal的open事件控制create-update-author的显示。

本篇文章不再介绍单独create-update-author component的方式,大家可以用这一个进行练手。

如果忘记怎么实现了,可以参考:(推荐使用这种方式)ABP-Book Store Application中文讲解 - Part 3: Creating, Updating and Deleting Books-CSDN博客

如果想要放在同一个组件里面,可参考ABP官网:

Web Application Development Tutorial - Part 9: Authors: User Interface | ABP.IO Documentation

 7. 继续学习

ABP-Book Store Application中文讲解 - Part 10: Book to Author Relation-CSDN博客

http://www.lqws.cn/news/135991.html

相关文章:

  • AWS中国区IAM相关凭证自行管理策略(只读CodeCommit版)
  • Linux容器篇、第一章docker命令总结表
  • C++入门基础
  • JavaScript基础:运算符
  • 本地IP配置
  • 【电赛培训课程】电子设计竞赛工程基础知识
  • psycopg2-binary、pgvector、 SQLAlchemy、 PostgreSQL四者的关系
  • typescript中的type如何使用
  • FSC认证概述?FSC认证的核心原则与标准?FSC认证的市场价值与意义
  • QRSuperResolutionNet:一种结构感知与识别增强的二维码图像超分辨率网络(附代码解析)
  • SSH登陆Linux常见问题大全
  • RAMSUN分享全新超值型MM32F0050系列MCU
  • 航芯MCU使用IAR+Jlink调试
  • 关于单片机的基础知识(一)
  • yFiles:专业级图可视化终极解决方案
  • Maskrcnn网络结构学习
  • DataStreamAPI实践原理——快速上手(实操详细版)
  • AbMole|Temozolomide在胶质母细胞瘤研究中为什么会常用到?
  • 300道GaussDB(WMS)题目及答案。
  • 2506,wtl的通知事件
  • LangChain开发环境搭建
  • 【Linux系统】命令行参数 和 环境变量(含内建命令介绍)
  • 行为型-迭代器模式
  • 主流Agent开发平台学习笔记:扣子罗盘coze loop 功能拆解
  • 68 VG的基本信息查询
  • Visual Studio如何引入第三方头文件——以部署OpenGL为例
  • 综合案例:斗地主
  • 【算法训练营Day06】哈希表part2
  • 基于单片机的FFT的频谱分析仪设计
  • css实现圆环展示百分比,根据值动态展示所占比例