Knockout を始めて、ゆっくりと慣れてきました。新しいプロジェクトで使用しようとしていますが、うまく機能させるのに苦労しています。簡単な例 (ko.observables にバインドされたテキスト ボックス、または ko.observableArray にバインドされたテーブルまたはリストを含む単純なフォーム) は理解し、実行できますが、組み合わせの正しい構文を取得することはできません。 Web サービスを介してデータを送信し、データベースに保存するために、データを JSON 形式に変換します。
基本的に、これはデータ入力フォームで、いくつかのテキスト入力ボックスと項目のリスト (会社情報と従業員のリストを考えてください) があります。
ここにサンプルの Fiddle があります: http://jsfiddle.net/rhzu6/
saveData 関数では、データをパッケージ化するために何をすべきかわかりません。ko.toJS(self) を実行すると、「オブジェクト」が表示されるだけです。
データをオブジェクトとして定義しようとしましたが、すぐに迷子になりました。
function Company(CompanyName, ZipCode) {
var self = this;
self.ZipCode = ko.observable(ZipCode);
self.CompanyName = ko.observable(CompanyName );
self.Employees = ko.observableArray();
}
function Employee(FirstName, LastNameB) {
var self = this;
self.FirstName = ko.observable(FirstName);
self.LastName = ko.observable(LastName);
}
次に、ViewModel は次のようになりました。
function viewModel() {
var self = this;
self.Company = ko.observable(); // company?
self.Employees = ko.observableArray(); // ?
}
しかし、同じ問題に遭遇しました。また、バインディングの問題もありました- data-bind:"value: CompanyName" は、CompanyName が何であるかがわからないという例外をスローしました...
私を困惑させてください。私が見逃しているのは簡単なことだと確信しています。
ありとあらゆる助けをいただければ幸いです。
ありがとう