【发布时间】:2021-09-19 22:50:13
【问题描述】:
我有一个带有函数的淘汰赛绑定,该函数应该根据页面是否处于编辑模式来更新标题。该函数似乎按预期工作,在编辑模式下返回一个空字符串,如果不是,则返回标题。但是,使用开发工具我可以看到由于某种原因标题没有在 HTML 中更新。任何帮助都会很棒,谢谢。
KO 模板
// View Model
var self = this;
var isEditMode = self.isEditMode;
var myModel = function(data) {
ko.mapping.fromJS(data, {}, this);
var self = this;
self.getTitle = ko.computed(function() {
var str = '';
if (!isEditMode()) {
str = 'my title';
}
return str;
});
};
var mapping = {
create: function(options) {
return new myModel(options.data);
}
}
var model = ko.mapping.fromJS(self.data(), mapping);
ko.applyBindings(model);
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.2/knockout-min.js"></script>
<table>
<tbody data-bind="template: { name: 'myTemplate', foreach: $data }"></tbody>
</table>
<script type="text/html" id="myTemplate">
<tr data-bind="title: setTitle">
<td>
<span data-bind: "text: name()"></span>
</td>
</tr>
</script>
【问题讨论】:
标签: javascript html knockout.js knockout-mapping-plugin