【问题标题】:GJS gnome-shell exception error, how to overcome this errorGJS gnome-shell异常错误,如何克服这个错误
【发布时间】:2021-06-01 06:59:23
【问题描述】:

我想知道这个错误信息是什么。

imports.ui.dateMenu.DateMenuButton.prototype.hide()

当我在lookingGlass 中运行时,出现以下错误

<exception Error: Can't convert to pointer on .Gjs_ui_dateMenu_DateMenuButton.prototype; only on instances>

谁能详细解释一下。

谢谢。

【问题讨论】:

  • 在我看来,您应该包含最小的、可重现的示例
  • @Drdiyor 感谢您的评论。添加截图。
  • 请复制并粘贴您的代码,而不是粘贴屏幕截图 - 它显示得非常小,如果不放大,我就无法阅读黑底白字!
  • 复制粘贴完毕。

标签: gnome-shell gjs


【解决方案1】:

JavaScript 具有原型继承——这意味着DateMenuButton.prototype 是一个包含 DateMenuButton 方法的对象,但它本身不是 DateMenuButton。因此,当您调用DateMenuButton.prototype.hide() 时,您是在对不是DateMenuButton 的对象调用DateMenuButton 的hide() 方法。这会给你一个错误。错误消息不是特别清楚,但“不能 ___ 在原型上,只能在实例上”是对正在发生的事情的提示。

要调用此方法,您需要一个实际的 DateMenuButton 对象。

这里有一些关于原型继承的进一步阅读材料:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Inheritance_and_the_prototype_chain

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-31
    • 1970-01-01
    • 1970-01-01
    • 2021-02-10
    相关资源
    最近更新 更多