ですから、これをやろうとしたのは私が初めてではないと確信していますが、私がやろうとしていることと一致する例が見つからないので、ここにいます.
そのように定義された Knockout カスタム バインディングがあります。
ko.bindingHandlers.table = {
init: function (element, valueAccessor) {
value = ko.unwrap(valueAccessor());
//Create a table
};
目標は、テーブルを作成したいユーザーが JavaScript について知っておく必要があることを最小限に抑えることです。提供してほしい HTML は次のようなものです。
data-bind="table: foo, columns: ['id', 'first name', 'last name', ect...]"></table>
列を配列のような形式で指定できるようにしたいです (ここでも、JS を使用しないようにしています)。col1: 'id', col2: 'first name' のようなばかげたことができることは承知していますが、作成するときに .length() を簡単に実行できるオブジェクト/配列が必要です私のテーブル。
Jqueryを使用してデータを操作する回避策がありますが、できればこのようなことをしたいと思います。
最後になりましたが、リースではありませんが、allBindings アクセサーを介してオブジェクトにアクセスできると想定しています。間違っている場合はお知らせください。前もって感謝します。