我有一个字符串作为JSON对象中的属性。此字符串包含标签,以便为其设置一些样式。我面临的问题是,无论编写良好的HTML标签,它都没有得到预期的结果。我要改变编程这部分的方式吗?
Javascript - Viewmodel:
function viewModel() {
var self = this;
self.text = ko.observableArray();
self.text = ko.computed(function() {
$.ajax({
type: "GET",
async: false,
contentType: "application/json; charset=utf-8",
global: false,
url: "../../webresources/myappresource/getitemdescription/001/102001/",
datatype: "json",
success: function(data) {
itemdata = data;
}
});
return itemdata;
}, this);
this.itemsList = ko.observableArray(itemdata);
};
ko.applyBindings(new viewModel());
HTML +淘汰赛
<tbody data-bind="foreach: itemsList" name="myitems">
<tr>
<td>
<input id="selectItem" type="checkbox">
</td>
<td>
<h5 data-bind="text:itemDescription"></h5>
</td>
</tr>
</tbody>
JSON对象结构:
[
{
"dscitem": " <b>Colour</b>: Green, <br/> <b>Weight</b>: 50.00,<br/> <b>Description</b>: suchitemdescription and so on,<br/> ",
"skuitem": 110
}
]
预期的结果是使用html标签增强的相同文本。相反,我得到的列表我想要的很酷,但显示的描述是没有任何样式的整个字符串,实际上,文本的方式与对象中的相同,纯粹的宇宙文本到应用程序-用户。关于这里发生了什么的任何想法?
答案 0 :(得分:1)
问题是(除了代码段中的语法错误)您使用文本绑定而不是html binding。
所以只需替换
<h5 data-bind="text:itemDescription"></h5>
与
<h5 data-bind="html:itemDescription"></h5>