【发布时间】:2014-11-29 12:43:46
【问题描述】:
当我尝试在 typescript 中使用 if 内部条件时,我收到错误“运算符 '==' 不能应用于类型 knockoutObservable 和字符串”
if(me.Info().roomName == "-") {
}
我在 VS2013 中收到此语句的智能感知错误。请指教。
【问题讨论】:
-
你对错误有什么不明白的地方?
-
我是否需要将“-”转换为任何其他类型,例如 ko.observable("-")。我只需要检查可观察字符串是否为“-”。我尝试了不同的方法,但仍然显示错误。我尝试了 me.Info().roomName() 和其他选项。它告诉 roomName() 不是一个函数。 In this roomName is KnockoutObservable
. -
我尝试将这两个值都转换为像这样的淘汰赛可观察字符串。 this.Info().roomName == ko.observable
("-")。它仍然没有按预期工作。即使 roomName 是“-”,条件也会返回 false。 -
两者都是不同类型的对象,这就是您收到错误的原因。 roomName 是字符串还是其他类型?当您将“-”转换为与 roomName 相同的类型时,错误是什么?请发布 RoomName 的代码
-
export class BInfo { roomName: KnockoutObservable
;} 下面是在 ViewModel 中如何声明 Info observableCollection。信息:KnockoutObservable = ko.observable(null);