Я постараюсь быть максимально кратким. Я использую DurandalJs, шаблон SPA HotTowel. Я добавил следующую модель просмотра
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
не работает. Возможно, я где-то делаю простую ошибку, но я не могу заметить, возможно, мне нужна вторая пара глаз, смотрящая на это.
Я включил отладку в дюрандале, но во-первых, я мало что получаю от ведения журнала дюрандала, он не показывает ничего, связанного с ko, а во-вторых, я думаю, что я слишком новичок в дюрандале, чтобы понять его отладочные сообщения.