我正在使用最新的KO Mapping插件。這個想法是Details部分應該填充從Ajax Call中檢索的JSON數據。敲除映射數據綁定不起作用
var supervisorVM = {
supervisor: ko.observable()
};
-----------code to call custom data service which returns JSON---
if (supervisorDetails) {
$('#Detail').show();
supervisorVM.supervisor = ko.mapping.fromJS(supervisorDetails);
ko.applyBindings(supervisorVM, document.getElementById("Detail"));
}
<div id="Detail" class="side-widget" style="display:none">
<h2>Details</h2>
<strong>
Supervisor<br>
<span data-bind="text: supervisor.FullName"></span><br/>
</strong>
<span data-bind="text: supervisor.PhoneNumber"></span><br/>
<a data-bind="text: supervisor.Email, attr: { href : 'mailto:'+supervisor.Email() }"></a>
</div>
每次我運行「詳細信息」部分都不會填入主管詳細信息,即全名和電話號碼。
我調試並確認supervisorVM.supervisor已填充,但數據綁定不起作用。
還試圖下面沒有運氣:
supervisorVM.supervisor(ko.mapping.fromJS(supervisorDetails));
我已經用了2個多小時了,有人能幫我做錯了什麼嗎?
謝謝。
以及它的工作正常我在這裏檢查http://jsfiddle.net/supercool/74dh736s/16/。如果你可以重現這個問題很容易把它整理出來。 – 2015-02-10 11:07:53
事實上,您正在進行查詢調用以顯示Detail div而不是使用布爾值observable,並將綁定如此具體地應用於DOM元素,這使我認爲您沒有適當地使用knockout,並且可能是大多數背後的原因你的奮鬥。 – 2015-02-10 17:35:54