在谷歌闭包库中创建自定义事件调度程序时出现问题

2024-01-30

我正在尝试在 google Closure js 库中创建自定义事件调度程序。我将此代码基于 fx 文件夹中的动画类,但我不断收到此错误。

“goog.events 未定义”

但我将事件包放在顶部。这是我的代码。

    goog.provide('test.util.Animation');
    goog.provide('test.util.Animation.EventType');
    goog.provide('test.util.AnimationEvent');

    goog.require('goog.events');
    goog.require('goog.events.EventTarget');
    goog.require('goog.events.EventType');



    /**
    * Constructor for an animation object.
    * @constructor
    * @extends {goog.events.EventTarget}
    */
    test.util.Animation = function() {
      goog.events.EventTarget.call(this);
    };
    goog.inherits(test.util.Animation, goog.events.EventTarget);

    /**
    * Events fired by the animation.
    * @enum {string}
    */
    test.util.Animation.EventType = {
       ANIM_IN: 'anim_in',
       ANIM_OUT: 'anim_out'
    };

    /**
    * Class for an animation event object.
    * @extends {goog.events.Event}
    */
    test.util.AnimationEvent = function(type, anim) {
       goog.events.Event.call(this, type);
    };
    goog.inherits(test.util.AnimationEvent, goog.events.Event);

我包含了所有必要的文件以及我编写的其他代码中的其他所有内容,运行良好。只是当我尝试从 goog.events.EventTarget 继承时,它会抛出此错误。我需要包含一些内容才能继承吗? 如果我删除继承调用,那么它不会抛出错误,但这违背了我想要做的事情的目的。有任何想法吗?谢谢。


我在谷歌闭包库讨论组中收到了这个问题的答案。这是解决方案。

在导入脚本之前放置所需的事件:

<script>goog.require('goog.events');</script>
<script src="whatever your script is.js"></script>

问题是 goog.require() 需要在比您使用代码更早的通道上进行评估,并且 goog.inherits() 在同一通道上运行。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在谷歌闭包库中创建自定义事件调度程序时出现问题 的相关文章

随机推荐

  • AWS Glue 中的 AWS 区域

    如何获取当前 Glue 作业正在执行的区域 当 Glue 作业开始执行时 我看到输出 Detected region eu central 1 在 AWS Lambda 中 我可以使用以下行来获取当前区域 import os region
  • 子类化 C# System.Type 的最简单方法

    我需要使定点数类继承自System Type class FixedPoint Type public bool Signed get set public int Width get set public int IntegerWidth
  • 如何重置 jQuery UI 滑块?

  • Asyncio执行流程问题

    我对 python 中的 asyncio 有点陌生 我试图运行这个简单的代码 但我不知道为什么我会得到这个意外的输出 我所做的是 在outer函数 我创建了异步任务并将其存储在数组中tasks 在等待这些任务之前 我写了一条打印语句prin
  • 将 Form_validation 错误放入数组中

    我的 CodeIgniter 应用程序中有一个用于表单验证的代码 this gt load gt library form validation this gt form validation gt set rules message Me
  • ModuleNotFoundError:没有名为“neo4j.addressing”的模块和 ModuleNotFoundError:没有名为“neo4j”的模块

    我收到这个错误 只是尝试运行 Graph 方法 gt gt gt import py2neo gt gt gt graph py2neo Graph Traceback most recent call last File
  • org.hibernate.PersistentObjectException:分离的实体传递给持久异常

    我正在创建一个简单的应用程序 只需使用以下命令将一行插入表中 如果表不存在 则创建它 Java JPA 我附加了一些可运行示例的代码 这是我得到的异常和堆栈跟踪 EXCEPTION gt org hibernate PersistentOb
  • 任意颜色条

    我有使用 imshow 显示的 70 0 范围内的数据 并且希望使用非线性颜色条来表示数据 因为我的模式都在 70 60 范围和 70 范围内 0 范围 我想要使 用任意函数 参见示例 重新缩放 重新规范化颜色条的最简单方法 以便所有模式都
  • 函数返回接口意味着什么?

    我刚刚看到这样的成员函数 public Cat nextCat GameState state 但 Cat 的接口是这样的 public interface Cat void makeCat GameState state 所以我很困惑如何
  • 如何从 java.sql.Timestamp 转换为 java.util.Date?

    i e 这段代码 startDate new Date timestampValue getTime 给我 2012 16 02 05 16 17 when System out println timestampValue return
  • 全日历日双击回调

    我需要实现在 dblclick 上工作的功能 例如 dayClick 回调 我尝试了所有找到的解决方案 但对我来说没有任何作用 例如米歇尔的回答 https stackoverflow com questions 8124460 handl
  • 单击菜单时如何隐藏默认键盘?

    我已经通过在该网站中插入代码尝试了多种方法onCreateOptionsMenu Menu menu 没有成功 我想在单击菜单按钮时隐藏键盘 我有三个 EditText 我可以在其中写入一些数据 并且菜单上有插入 删除 修改数据库的选项 但
  • 带动态标题的管道 ggplot2

    我可以获取数据并在 ggplot 中使用管道制作标题吗 假设我有这样的数据 x lt c 5 17 31 9 17 10 30 28 16 29 14 34 y lt c 1 2 3 4 5 6 7 8 9 10 11 12 day lt
  • 显示高级自定义字段的 JSON API - WordPress

    I am developing a magazine WordPress site that will have a json feed for a Mobile App I set the backend up using Advance
  • 我应该在 Swift Playgrounds 的 .gitignore 文件中包含什么?

    我想使用 Git 对我的 Playground 进行版本控制 但我不确定哪些文件应该被忽略以及哪些文件应该提交 目前我使用以下 gitignore游乐场文件 Xcode user data xcuserdata 还应该有什么 来自官方Swi
  • 使用环境调用 popen

    在我的 Lua 程序中 我必须捕获外部程序的输出 该外部程序需要某些环境变量 所以我这样做 e e e A 100 e e B Hi e e C Test file io popen e bin aprogr 显然 如果环境很大 popen
  • 如何使用Python获取两个PDF文件的差异?

    我需要找出两个 PDF 文件之间的差异 有谁知道任何与Python相关的工具具有直接给出两个PDF的差异的功能吗 你所说的 差异 是什么意思 PDF 文本存在差异或某些布局发生变化 例如 调整了嵌入图形的大小 第一个很容易检测 第二个几乎不
  • SQLITE 数据库在 java 中被锁定(IDE NetBeans)

    当我执行任何操作时 它在数据库中工作 但突然显示数据库已锁定错误 假设这是在一个按钮上执行的操作 private void jButton6ActionPerformed java awt event ActionEvent evt Sah
  • 是否可以在 webpack 中创建自定义解析器?

    当需要模块时我有自己的约定 例如 require components SettingsPanel 应解决require components SettingsPanel SettingsPanel js 有什么方法可以创建这样的解析器吗
  • 在谷歌闭包库中创建自定义事件调度程序时出现问题

    我正在尝试在 google Closure js 库中创建自定义事件调度程序 我将此代码基于 fx 文件夹中的动画类 但我不断收到此错误 goog events 未定义 但我将事件包放在顶部 这是我的代码 goog provide test