1
我會盡量簡潔。我正在使用DurandalJs,HotTowel SPA模板。我已經添加了以下視圖模型Durandaljs和knockoutjs - 數據綁定不起作用
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相關的任何內容,其次,我覺得我太新以至於無法理解它是調試消息。
奏效完美。任何想法我需要用來綁定一個'label'。我在上面的html中有一個標籤綁定到相同的屬性。當我輸入textarea時,我希望標籤能夠拾取textarea中的文本並顯示它。 – Suhas
對於標籤,你仍然需要使用'text'綁定。但是如果你想立即更新,你需要在'value'綁定中使用'valueUpdate:'afterkeydown''選項:http://jsfiddle.net/fCa6y/ – nemesv