gpt4 book ai didi

javascript - knockout 因变量: how to define structure properly

转载 作者:行者123 更新时间:2023-11-28 01:46:39 27 4
gpt4 key购买 nike

我是 knockout 新手,我有以下问题:

我有来自数据库的 Id,每个 Id 都有其相应的描述(这实际上是 .NET 中的枚举,但我认为这在这个问题中并不重要)。

例如,

a) 对于变量“PType”:0 - 未定义; 1 - 低结构; 2 - 高结构b) 对于变量“ClientType”:0 - 未定义,1 - P 类型; 2 - S型等等,还有一些其他变量

如何正确定义这种依赖关系的模型?目前我只有这样的 ID

PType: ko.observable();
ClientType: ko.observable();

我在页面上显示 ID:

<span data-bind="text: PType"></span>
<span data-bind="text: ClientType"></span>

但是,我需要向用户显示类似:PTypeDescriptionClientTypeDescription 的内容。我相信这些在某种程度上是因变量,但无法使其发挥作用。

最佳答案

首先,我假设您已经知道自己拥有哪些枚举,并且当您通过 AJAX 获取数据时,您会得到表示为 integer 而不是 string 的枚举值

您可以轻松地在 Javascript 中模拟枚举(检查 this article ):

var PType = { 0: "Undefined", 1: "Low Structure", 2: "Hight Structure" }
var ClientType = { 0: "Undefined", 1: "P Type", 2: "S Type" }

所以,你的 View 模型可以是这样的:

var itemObj = {
PType: ko.observable(0);
ClientType: ko.observable(0);
property1:ko.observable('')// put here the other properties if you have more
}

为了让您的枚举表示为枚举,您可以编写调用函数,该函数接受(“您的枚举键”)和要使用的枚举(“您可以为此使用内联函数”)。

JsFiddle Demo

更新
检查这个SO answer JS中枚举的另一个实现,简单有效

关于javascript - knockout 因变量: how to define structure properly,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20213328/

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