- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
第一次在这里发帖所以很好!我会尽量做到最精确和简洁。
我目前正在使用 Angular/Typescript 开发一个 GUI,它可以显示 LAN 和附近的设备和网络流量。到目前为止,我在设计应用程序时遇到了一些麻烦。
我有几个设备类:
设备
export class Device {
_id: string
_mac: string
...
}
LANDevice
export class LANDevice extends Device {
_firstSeen: Date
_status: 'reachable' | 'unreachable'
_services: Service[]
...
}
我还有其他类来描述其他类型的设备,如蓝牙、BLE 设备等。我想要几个组件(摘要、服务和漏洞以及事件)来显示有关这些设备的一些信息。
我面临的问题是,根据设备类型,显示的信息会大不相同。
我如何设计我的组件和类来处理这个用例?我是否应该在每个设备类中都有一个函数来向相关组件公开“正确的”模型(但我需要为每个组件编写一个函数,所以我认为这不是一个好主意)
设备
export class Device {
...
public toSummary(): SummaryModel {
icon: this._svgIcon(),
name: this._hostname,
content: [
firstSeen: this._firstSeen,
network: [ ... ]
]
}
}
蓝牙设备
export class Device {
...
public toSummary(): SummaryModel {
icon: this._svgIcon(),
name: this._hostname,
content: [
lastSeen: this._lastSeen,
macVendor: this._macVendor
]
}
}
在我的 Summary 组件中有:
摘要组件
export interface SummaryModel {
icon: <Base64>,
name: string,
content: []
}
export class SummaryComponent {
...
**Parsing of device.toSummary() function with keys/values with table-like display**
**Key1: Value1
**Key2: Value2
**...
}
有没有人有更好的想法?这里的主要问题是,根据设备类型,我不想显示相同的内容。我可以检查设备类型并在组件或 HTML 中处理它,但我相信 Angular 中的组件应该有一个单一的接口(interface)/数据模型并且只处理它。
感谢您的宝贵时间 :)
最佳答案
我会使用 ngSwitch 来设计它和 type guards .
您可以根据某些表达式的结果让您的组件显示开关的任何情况,这些表达式执行逻辑以确定实体是什么基础类型。
关于angular - 为 Angular 应用程序设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58595108/
如何有效地设计一个C++模块化程序?如何学习? 最佳答案 对于初学者,您可能希望采取“暴力”过程: 1. 在一个文件中写一个简单的main函数。 2. 增加一些功能,先编译再测试。 3.重构(在谷歌中
前言 有人说现在记事类app这么多,市场这么卷,为什么还想做一个笔记类App? 一来,去年小孩刚出生,需要一个可以记录喂奶时间的app,发现市面上没有一款app能够在两步内简单记录一个时间,可能i
我正处于 Web 应用程序的设计阶段,该应用程序允许用户创建工作请求,并且工作人员可以针对这些请求投入时间。该应用程序还将为主管提供报告功能,以获取每日总计、报告,并说明花费的时间、“成本分配”。 我
前言:很多刚刚接触编程的人都不知道怎么下手编写程序,特别是学习了新的知识点,不知道有什么用,那么本文将以简单的存储结构及简单的运算,条件语句,分支语句,循环语句结合,带来一个双人对战版五子棋,这是一
我正在尝试通过 C++ 多线程解决网络流量问题。 给定一个网络(所有节点都由弧连接,每个弧连接2个且只有2个结束节点,一个是输入节点,另一个是输出节点,每个节点可以有多个输入弧和输出弧),每个节点需要
我有一个关于编程和文件的问题。 while(current!=NULL) { if(current->Id_Doctor!='\0') { current=current->next;
下面的‘C’语句执行什么操作? star = star ^ 0b00100100; (A) 切换变星的第 2 位和第 5 位。 (B) 清除变量星的第 2 位和第 5 位以外的所有位。 (C) 设置除
我写了下面的代码: #include int main() { int a, b; printf("Enter values of a and b\n"); scanf(" %d%d "
我正在将 C 代码编程到 PIC 板上。我的问题是如何让我的程序计算按下按钮(RB0)的时间。然后它会显示所花费的时间并将其显示在液晶显示屏上。以毫秒为单位计算。下面是到目前为止我的代码。 /
我是一名优秀的程序员,十分优秀!