タイトルのように、構成オブジェクトのシリアル化に問題があります。aureliaバインド可能なオブジェクトプロパティがjsonでシリアル化されていません
"リゾート"クラスには、AddressとManagerという2つのbindalbeプロパティがあります。どちらもhttpClient.jsonによって直列化されませんが、@bindableを削除すると直列化が完璧に動作します。問題はどこですか?
import {bindable} from 'aurelia-framework';
import {Address} from './../models/address.js'
import {Employee} from './../models/employee.js'
export class Resort {
id = "";
name="";
category_id = "";
organization_id = "";
manager_id = "";
owner_id = "";
active = "";
deleted = "";
date_created = "";
date_modified = "";
checkin = "";
checkout = "";
date_deleted = "";
notes = "";
address_id = "";
@bindable address = new Address();
@bindable manager = new Employee();
category_attraction = [];
category_option = [];
}
これは私のフェッチコードです:JSON機能の
this.http.fetch('resorts', {
method: 'post',
body: json(resortObject)
})
結果:
{"id":"","name":"LOLO","category_id":"","organization_id":"","manager_id":"","owner_id":"","active":"","deleted":"","date_created":"","date_modified":"","checkin":"","checkout":"","date_deleted":"","notes":"","address_id":"","category_attraction":[],"category_option":[]}
TIA :)私はあなたがその動作を持っている理由を知っているドント
私が知る限り、@bindableプロパティはWebコンポーネントクラスで使用する必要があります。私の意見では、あなたのクラスがWebコンポーネントであれば、それをあなたのサーバに投稿すべきではありません。代わりに普通のjavascriptオブジェクトに変換するべきです。クラスにいくつかのプロパティと関数があり、状態やイベントを処理するために必要であると想像してください。これらの不要な情報はすべてサーバーに送信する必要はありません。 –