gpt4 book ai didi

knockout.js - 如何从 knockout 数据绑定(bind)中引用 typescript 的枚举值?

转载 作者:搜寻专家 更新时间:2023-10-30 21:12:45 26 4
gpt4 key购买 nike

我正在努力使这项工作(页面提示 CustomerExperience 未定义):

<div data-bind="visible: $data.customerExperienceObservable() === CustomerExperience.Loading">
Loading...
</div>

CustomerExperience 在 TypeScript 中定义:

export enum CustomerExperience {
Loading = 1,
Unconfigured = 2,
Data = 3
}

转译为:

(function (CustomerExperience) {
CustomerExperience[CustomerExperience["Loading"] = 1] = "Loading";
CustomerExperience[CustomerExperience["Unconfigured"] = 2] = "Unconfigured";
CustomerExperience[CustomerExperience["Data"] = 3] = "Data";
})(exports.CustomerExperience || (exports.CustomerExperience = {}));
var CustomerExperience = exports.CustomerExperience;

将上下文应用于一个类的实例:

ko.applyBindings(dataProvider);

我知道,如果我将 CustomerExperience 定义为绑定(bind) dataProvider 的属性,我就可以让它工作。但我正在尝试了解是否可以使用 TypeScript 枚举来完成。

有什么想法吗? :)

PS:现在我使用 === 1 来让它工作。

最佳答案

最终得到这个解决方案(谢谢 Carrie Kendall!):

public customerExperienceLoading: KnockoutComputed<boolean> = ko.computed({
owner: this,
read: () => {
return this.customerExperienceObservable() === CustomerExperience.Loading; } });

并将其绑定(bind)为常规 bool 值:

data-bind="visible: $data.customerExperienceLoading() === true"

关于knockout.js - 如何从 knockout 数据绑定(bind)中引用 typescript 的枚举值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39161668/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com