我有一个非常基本的问题,因为我不懂打字。。。
我有以下功能正常工作:
getLatestSystemMessage(thread: Thread): string {
const message = thread.messages.slice().reverse().find(m => m.type !== 0);
let content = '';
if (message) {
switch (message.type) {
case 1: 'Please choose' break
case 2: 'Selected' break }}}
现在我想创建另一个函数,因为我正在尝试创建一个NgSwitch,所以我想在component.html中写入和[ngSwitch]="messageType(thread)"
*ngSwitchCase=2
。输出的数字应该是message.type
。到目前为止,我有这个,这是正确的吗?
getMessageType(thread: Thread): number {
const message = thread.messages.slice().reverse().find(m => m.type !== 0);
return message.type;
}
若要使ngSwitch
指令与表达式中的数字匹配,您需要返回结果消息对象的type属性。
例如:
messageType(thread: Thread): any {
const message = thread.messages.slice().reverse().find(m => m.type !== 0);
if (message !== undefined) {
return message.type;
}
// return a reasonable default
}