我有以下 knockout.js 映射代码:
//JSON string
var startData= {"Name":"SMT","Price":{"Value":22,"Currency":"EUR"}}";
//convert json to model
var viewModel = ko.viewmodel.fromModel(startData);
viewModel.deletePrice= function() {
delete this.Price;
};
ko.applyBindings(viewModel);
然后,我有以下模板,在页面上显示价格嵌套对象:
<script type="text/html" id="PriceTemplate">
//render Value and Currency properties from nested object Price
</script>
然后在我的代码中,我将 Price 对象绑定到模板 PriceTemplate - 这一切正常。
<div data-bind="template: { name: 'PriceTemplate', data: Price, templateOptions: { title: 'Prc'} }"></div>
<a href="#" data-bind="click: function() { deletePrice() }">Delete Price</a>
问题是这个功能deletePrice()
。当它被调用时,它会删除嵌套对象 Price,但模板仍然会在页面上呈现初始数据。
我的问题-如何删除 Price 嵌套对象并同时删除呈现的模板?