首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >小部件,从选项错误调用函数?

小部件,从选项错误调用函数?
EN

Stack Overflow用户
提问于 2014-03-19 12:00:09
回答 1查看 41关注 0票数 0

在小部件中,我试图从选项中的属性调用一个函数

代码语言:javascript
复制
getThing: this._runFunc()  

但是我收到一个错误,说_runFunc()不是对象的实例?你能帮忙吗?

代码语言:javascript
复制
 $.widget('my.testW', {
        options:{
            buttons:buttons,
            getThing: this._runFunc() // why wont _runFunc work?
        },
        _create: function () {
                //do things    
                var s = this.options.getThing;

        },
        _runFunc: function (){
            return 'hello world'
        }
    });
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-19 12:11:15

$.widget调用中,options对象和包含它的匿名对象文本只是$.widget的参数,因此this引用的是$.widget调用之外的任何this,而不是新定义的小部件。

AFAIK,无法从该文本的值中引用同一匿名对象文本的其他元素。

如果您想隐藏您的函数,您可以这样定义您的小部件:

代码语言:javascript
复制
(function() {
     function _runFunc() {
          return 'hello world';
     };

     $.widget(..., {
         options: {
             getThing: _runFunc()
         },
         _runFunc: _runFunc;  // if you want to expose this method
     });
 })();

在该范围内包含实用程序函数的地方。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22505160

复制
相关文章

相似问题

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