我將如何着手對具有子屬性數據的對象進行可觀察的更新 - 鏈接到表單元素?JsObservable設置具有子屬性的屬性
var app = {
formData: {
selectedThing: "thingValue1",
selectedPlace: "placeValue1"
}
};
$("#btnUpdate").on("click", function(){
var replacementForm = {
selectedThing: "thingValue2",
selectedPlace: "placeValue2"
}
$.observable(app).setProperty("formData", replacementForm);
});
$("#content").link(true, app);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="http://www.jsviews.com/download/jsviews.js"></script>
<div id="content">
<input data-link="formData.selectedThing trigger=true"/>
<br/>
<input data-link="formData.selectedPlace trigger=true"/>
</div>
<button id="btnUpdate" type="button">Update</button>
我有一些輸入字段中的數據鏈接到一個對象的屬性,並且當用戶按下按鈕,所有這些字段的需要使用的對象(從所接收的獲取更新。服務器作爲JSON,反序列化爲一個對象相同的形式的元素的基礎的數據對象)這是我的jsfiddle: http://jsfiddle.net/xpe1ds0a/
會不會有一個簡單的方法來刪除根對象上用來使這個例子工作時,可觀察到的訂閱「^」創建多餘的「jQuery的#」財產?我無法將formData發送到服務器,因爲JSON對象突然與數據合同不匹配。 –
JSON.stringify(object)將去除jQuery expando屬性。有關詳情,請參閱https://github.com/BorisMoore/jsviews/issues/71以及https://github.com/BorisMoore/jsviews/issues/239。 – BorisMoore