1
我有一個ASP.NET MVC應用程序,它使用WebAPI作爲數據,而KnockOutJS作爲前端。在大多數情況下,事情工作得很好,但是我開始意識到,更新值時,這些值不會反映在綁定元素中。瞭解ko.mapping.fromJSON
原因是因爲數據正在從服務器傳遞爲JSON,並且正在被轉換爲普通的JSON對象。換句話說,沒有屬性被映射爲「可觀察對象」,所以當我改變對象的值時,什麼都不會被更新。
我讀了關於KnockOutJS插件的一個名爲「映射」的插件,但我無法弄清楚它的正確語法。我希望別人已經處理了這個,並有一些建議。這裏是我當前的代碼:
<script type="text/javascript">
function BlogViewModel() {
var self = this;
self.blogs = ko.observableArray();
var baseUri = '@ViewBag.ApiUrl';
//$.getJSON(baseUri, self.blogs);
$.getJSON(baseUri, {},
function (data) {
ko.mapping.fromJSON(data, self.blogs);
});
}
$(document).ready(function() {
ko.applyBindings(new BlogViewModel());
});
});
</script>
註釋掉部分($ .getJSON(基本URI,self.blogs);)是幹什麼用在那裏,和「作品」關於獲取和顯示數據。
下面的代碼是我嘗試讀取數據並將映射應用到它。它根本不工作。換句話說,我在頁面上看不到任何數據。
我敢肯定我錯過了一些明顯的東西?
回首時,看到你的問題......你找到你要找的東西?如果是這樣,請發佈您的答案! – beauXjames 2013-11-01 21:14:01
我有同樣的問題。它發生在有時在服務器端更新了一個對象。我收到一個結果來查看後,我需要發射DOM更新。你有沒有找到解決方案? – 2016-07-19 09:55:01