将属性从Int转换为String,并在KnockoutJS中显示
Convert Property from Int to String and show it in KnockoutJS
我想用我创建的json将Int值转换为字符串。我的变量ResultType在INT中,我想显示它的转换值。ResultType保存我的数据库中的值int,所以"1"、"2"等。
这是我的main.js代码
function InvestigatorInfo() {
var self = this;
self.ResultType = ko.observable();
}
InvestigatorInfo.prototype.fromJS = function(data) {
var self = this;
self.ResultType(data.ResultType || "");
}
我的观点:
<ul data-bind="foreach:Infos">
<b>ResultType: </b><span data-bind="text: resultName[ResultType]"></span>
这是我的转换代码:
resultName = {"0":"INVALID_VALUE","1":"NONE","2":"BOOLEAN"}
我需要在我的原型函数中首先检查int吗?任何帮助都是徒劳的。感谢
您可以使用ko.computed
。
在下面的示例中,我将类型/名称映射(resultTypeNames
)作为静态构造函数属性。
function InvestigatorInfo() {
var self = this;
self.ResultType = ko.observable();
self.ResultName = ko.computed(function () {
return InvestigatorInfo.resultTypeNames[self.ResultType()] || "UNKNOWN";
});
}
InvestigatorInfo.prototype.fromJS = function(data) {
var self = this;
self.ResultType(data.ResultType || "");
return self;
}
InvestigatorInfo.resultTypeNames = {
"0":"INVALID_VALUE",
"1":"NONE",
"2":"BOOLEAN"
}
var response = [
{ ResultType: "0" },
{ ResultType: "2" },
{ ResultType: "1" },
{ ResultType: "4" }
];
ko.applyBindings({
Infos: ko.utils.arrayMap(response, function (data) {
return new InvestigatorInfo().fromJS(data);
})
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script>
<ul data-bind="foreach:Infos">
<li>
<b>ResultType:</b>
<span data-bind="text: ResultName"></span> (<span data-bind="text: ResultType"></span>)
</li>
</ul>
相关文章:
- 使用clickToggle并在单击另一个元素时关闭元素
- 使用javascript检查多个输入值,并在1次检查中标记多个输入框
- 使用jQuery动态添加表并在其中动态添加行
- 遍历类元素数组,并在jquery中选择同级元素
- 如何缩短MongoDB ObjectId并在Mongoose模式中使用它
- 如何覆盖锚点元素's href目标,并在我点击转到目标javascript时删除其他错误
- 通过ajax将坐标传递到php服务器端,并在处理后检索到javascript
- ng消息仅在触摸时显示错误,并在错误的初始显示上转换
- Javascript对象类在单击时打开窗口进行颜色选择,并在更改时替换对象背景颜色
- 如何使用JS禁用表行,并在MYSQL中插入所选选项
- Node.js上的WebSocket,并在所有连接的客户端之间共享消息
- OpenLayers在悬停时高亮显示功能,并在单击时选择
- 将循环中的两个文本框相乘,并在第三个文本框上显示结果
- 获取屏幕截图并在电子邮件中发送的按钮
- CSS/HTML:更改文本的值并在悬停时从中心展开
- 使用php脚本验证访问者的年龄,并在不刷新的情况下根据结果加载iframe
- Sails.js:我可以将一些服务/模型打包为npm并在Sails.jss应用程序中加载npm吗
- AJAX调用并在Node中获取返回数据
- 将属性从Int转换为String,并在KnockoutJS中显示
- 在knockoutjs中,如何绑定到属性并在属性更改时更新视图