我会尽量简洁。我正在使用 DurandalJs,HotTowel SPA 模板。我添加了以下视图模型
define(['services/logger'], function (logger) {
title = 'Content';
unpublishedContent = ko.observable('default');
activate = function() {
logger.log(title + ' View Activated', null, title, true);
return true;
}
unpublishedContent.subscribe(function (newValue) {
logger.log('New value is: ' + newValue);
});
return {
activate: activate,
title: title,
unpublishedContent: unpublishedContent,
save: function (data) {
self = this;
logger.log(' Content saved - ' + self.unpublishedContent(), null, title, true);
}
};
});
和以下观点
<section>
<div class="row">
<div class="col-md-4">Left section</div>
<div class="col-md-8">
<form class="form-horizontal" role="form" data-bind="submit: save">
<div class="form-group">
<label for="html" class="col-lg-3">Html</label>
<div class="col-lg-9">
<textarea class="form-control" data-bind="text: unpublishedContent"></textarea>
</div>
</div>
<div class="form-group">
<label class="col-lg-3">Your HTML</label>
<label class="col-lg-9" data-bind="text: unpublishedContent"></label>
</div>
<div class="form-group">
<div class="col-lg-offset-3 col-lg-9">
<button type="submit" class="btn btn-default">Save</button>
</div>
</div>
</form>
</div>
</div>
</section>
这里有几点需要注意
unpublishedContent
财产一ko.observable
unpublishedContent
绑定到一个文本区域和一个标签save
submit
使用绑定将方法绑定到表单
虽然我的提交绑定正在工作,但绑定unpublishedContent
不起作用。我可能在某个地方犯了一个简单的错误,但我无法发现,可能需要第二双眼睛看着它。
我已经在 durandal 中启用了调试,但我没有从 durandal 的日志中得到太多信息,它没有显示与 ko 相关的任何内容,其次,我认为我对 durandal 太陌生,无法理解它的调试消息。