所以我确信我不是第一个尝试这样做的人,但我找不到任何与我正在尝试做的事情相匹配的例子,所以我在这里。
我有一个这样定义的 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 访问器访问该对象,如果我弄错了,请告诉我。先感谢您。