【问题标题】:jquery plugin setting object this.method is undefinedjquery 插件设置对象 this.method 未定义
【发布时间】:2015-03-27 15:36:49
【问题描述】:

当试图引用当前对象中的方法时,例如“this.arr”不起作用或者如果放置“settings.arr”也不起作用我如何引用当前对象中的方法

    var settings = $.extend({
        arr: [378,379,311,537,378],
        backgroundColor: "#323232",
        xPadding: 60,
        yPadding: 60,
        max: M.graph.max(settings.arr),
        min: M.graph.min(settings.arr)
    }, $.fn.graphify.defaults, options);

我得到类型错误:设置未定义

【问题讨论】:

  • 您需要分享更多有关问题的上下文...
  • 我只想知道如何引用同一个对象中的其他元素,它并不需要上下文
  • 你有 arr 作为全局变量还是只在设置对象中?因为如果我在对象的函数中使用 this.property 它对我有用。
  • 是的,我确实将 arr 作为全局变量 "var arr = settings.arr" 我已将设置中的 arr 更改为 "array" ,但它仍然不起作用,我的代码有效将最小值和最大值作为全局变量很好,但它没有让我选择将其作为插件更改为静态整数
  • 你看过/尝试过我下面回答的例子吗?它工作正常。

标签: javascript jquery plugins jquery-plugins


【解决方案1】:

我创建了一些 JSFiddle example,它工作正常,我的意思是我可以在对象的函数中使用 this.arr。

var obj = {
    option: ["a", "b", "c"],
    secondOption: function () {
        alert(this.option);
    }
}

obj.secondOption();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-22
    • 1970-01-01
    • 1970-01-01
    • 2022-01-23
    • 1970-01-01
    • 2011-08-27
    • 2012-10-24
    • 1970-01-01
    相关资源
    最近更新 更多