首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Dynatable -特性未定义

Dynatable -特性未定义
EN

Stack Overflow用户
提问于 2017-09-27 19:56:16
回答 1查看 497关注 0票数 0

我用动态生成表。但我错了:

TypeError: dyna.features未定义

代码语言:javascript
复制
    $(document).ready(function () {
        gettableupdates();
        var dyna;
        function gettableupdates() {
            $.getJSON('ajax_data.json',
                function (data) {
                    dyna = $('#product-table').dynatable({
                        dataset: {
                            records: data
                        }
                    }).data('dynatable');
                    dyna.features.paginate.recordCount = false;
                    dyna.features.paginate.perPageSelect = false;
                });
        }
    });
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-29 16:40:06

dyna变量的console.log显示如下:

代码语言:javascript
复制
{   
    $element: [table#dyno-table, context: table#dyno-table]
    dom: Dom {update: ƒ}
    domColumns:DomColumns {initOnLoad: ƒ, init: ƒ, getFromTable: ƒ, add: ƒ, remove: ƒ, …}
    element : table#dyno-table
    inputsSearch : InputsSearch {initOnLoad: ƒ, init: ƒ, create: ƒ, attach: ƒ}
    paginationLinks : PaginationLinks {initOnLoad: ƒ, init: ƒ, create: ƒ, buildLink: ƒ, attach: ƒ}
    paginationPage : PaginationPage {initOnLoad: ƒ, init: ƒ, set: ƒ}
    paginationPerPage : PaginationPerPage {initOnLoad: ƒ, init: ƒ, create: ƒ, attach: ƒ, set: ƒ}
    processingIndicator : ProcessingIndicator {init: ƒ, create: ƒ, position: ƒ, attach: ƒ, show: ƒ, …}
    queries : Queries {initOnLoad: ƒ, init: ƒ, add: ƒ, remove: ƒ, run: ƒ, …}
    records : Records {initOnLoad: ƒ, init: ƒ, updateFromJson: ƒ, sort: ƒ, paginate: ƒ, …}
    recordsCount : RecordsCount {initOnLoad: ƒ, init: ƒ, create: ƒ, attach: ƒ}
    settings : {features: {…}, table: {…}, inputs: {…}, dataset: {…}, writers: {…}, …}
    sorts : Sorts {initOnLoad: ƒ, init: ƒ, add: ƒ, remove: ƒ, clear: ƒ, …}
    sortsHeaders : SortsHeaders {initOnLoad: ƒ, init: ƒ, create: ƒ, removeAll: ƒ, removeOne: ƒ, …}
    state : State {initOnLoad: ƒ, init: ƒ, push: ƒ, pop: ƒ}
    __proto__ : Object
}

这是Chrome工具中的输出,格式很好,可以显示对象的键名。如您所见,无法通过顶层对象直接访问features。然而,它是内部设置。

所以dyna.features是未定义的

dyna.settings.features是一个对象,它可能就是您要寻找的对象。

因此,您只需将以下行更改为:

代码语言:javascript
复制
dyna.features.paginate.recordCount = false;
dyna.features.paginate.perPageSelect = false;

代码语言:javascript
复制
dyna.settings.features.paginate.recordCount = false;
dyna.settings.features.paginate.perPageSelect = false;

更新

实际上,我不知道你想做什么,但上面的例子会防止错误,但它可能不会得到预期的结果。如果您的意图是禁用分页和记录计数,那么它将无法工作。您必须在初始化时定义这些特性。您可以通过添加一个具有如下属性的features来做到这一点:

代码语言:javascript
复制
// ...previous code
dyna = $('#product-table').dynatable({
    dataset: {
        records: data
    },
    features: {
        recordCount: false,
        perPageSelect: false,
    }
}).data('dynatable');
//... after code
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46456225

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档