首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >TypeError: this.$refs.datasource.fetch不是一个函数

TypeError: this.$refs.datasource.fetch不是一个函数
EN

Stack Overflow用户
提问于 2018-12-18 04:27:38
回答 1查看 1.3K关注 0票数 1

我试图在用获取创建的数据源上调用vue包装器方法。

错误是Vue警告:挂载钩子中的错误:"TypeError: this.$refs.datasource.fetch不是函数“,所以我的问题是如何从$refs对象调用方法。

我做了一个stackblitz 这里

代码语言:javascript
运行
复制
<body>
    <div id="vueapp" class="vue-app">
        <kendo-datasource ref="datasource" :data="dataSourceArray">
        </kendo-datasource>
    </div>
</body>

new Vue({
    el: '#vueapp',
    data: function() {
        return {
            dataSourceArray: [
                { text: 'Albania', value: '1' },
                { text: 'Andorra', value: '2' },
                { text: 'Armenia', value: '3' },
                { text: 'Austria', value: '4' },
                { text: 'Azerbaijan', value: '5' },
                { text: 'Belarus', value: '6' },
                { text: 'Belgium', value: '7' }
            ]
        }
    },
    mounted: function () {
      this.$refs.datasource.fetch()//<== error here
    }
})
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-18 05:16:53

您得到的参考文件是整个<kendo-datasource>组件,它没有直接的fetch()方法。我相信您要做的是在组件中获取kendoDataSource并调用它上的fetch方法,这将是:

代码语言:javascript
运行
复制
this.$refs.remoteDatasource.kendoDataSource.fetch();

修改您的示例以查看它的运行情况:

代码语言:javascript
运行
复制
    <kendo-datasource 
        ref="datasource" 
        :data="dataSourceArray" 
        :type="'odata'"
        :transport-read-url="'https://demos.telerik.com/kendo-ui/service/Northwind.svc/Customers'">
    </kendo-datasource>

代码语言:javascript
运行
复制
this.$refs.remoteDatasource.kendoDataSource.fetch(function(){
    var data = this.data();
    console.log(data[0]);
    });
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53826394

复制
相关文章

相似问题

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