angular - 为什么布尔值不被视为有效的输出类型?
问题描述
我有一个布尔值调用isAcceptedOffer
,如果它是真的,该类.d-inline
将被添加到我的组件中的跨度。html
<span class="badge badge-pill badge-success text-white d-none" [class.d-inline]="isAcceptedOffer">Accepted</span>
布尔值仅在 message.type === 3 时才为真。因此,我在 component.ts 中创建了以下内容,但它不起作用
isAcceptedOffer(thread: Thread): boolean {
const message = thread.messages.slice().reverse().find(m => m.type !== 0);
if (message.type === 3) {
this.isAcceptedOffer = true;
} else {
this.isAcceptedOffer = false;
}
}
我可以看到突出显示的错误Type 'boolean' is not assignable to type '(thread: Thread) => boolean'.ts(2322)
但是我需要一个布尔类型,那么我该如何解决这个问题?
解决方案
在您的代码段中,您试图将您的函数重新分配isAcceptedOffer
给一个布尔值,然后预期会抛出一个类型错误。
您可以尝试将您的isAcceptedOffer
函数重命名为类似的名称,例如evaluateOfferState
这将为您提供以下代码段:
evaluateOfferState(thread: Thread): boolean {
const message = thread.messages.slice().reverse().find(m => m.type !== 0);
if (message.type === 3) {
this.isAcceptedOffer = true;
} else {
this.isAcceptedOffer = false;
}
}
推荐阅读
- javascript - 从javascript字符串插值向结果字符串添加一对反引号的优雅方法?
- javascript - Js Promise for ajax 的成功和错误
- .htaccess - htaccess | 没有在正确的位置寻找 js
- inno-setup - 带大括号的 INNO 设置注册表项
- javascript - 无法为树胡须 reactjs 创建 JSON 结构
- matrix - 带有矩阵起始向量的 sympy nsolve typeError
- r - 将标签(即“A”、“B”)添加到 facet wrap ggplot
- ruby-on-rails - 如何使用 ruby 和 parslet 解析 rtf 文本?
- java - 用于递归搜索路径并列出以特定字符串开头的所有目录的 Java 代码
- c# - 在 WPF MediaElement 中播放 HTTPS 视频 URL 的解决方法