问题标签 [google-closure-library]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
265 浏览

google-closure-library - 为什么我不能将另一个类的公共枚举作为静态字段访问?

我在文件中有一个枚举:

为什么我不能像这样在另一个类中访问这个枚举作为 Fish 的静态字段?

0 投票
2 回答
2283 浏览

javascript - @private 注解在 Google Closure JavaScript 代码中的实际作用是什么?

当我在变量或函数上方添加评论时,@private它实际上在做什么?我已经查看了文档,但我仍然不确定。

当我打开 chrome 的开发工具(myproject.foo)时,我仍然可以访问它。和...

上面的代码仍然将正文 textContent 设置为等于“bar”,即使在编译时也是如此。那么@private实际上是做什么的呢?

0 投票
1 回答
164 浏览

javascript - 如何获取由 goog.ui.AutoComplete 生成的行数组?

我的一个朋友写了一些包含 goog.ui.AutoComplete 实例的 Google Closure 代码:http: //closure-library.googlecode.com/svn/docs/class_goog_ui_AutoComplete.html

每次这个自动完成功能向服务器发出异步请求时,我都必须遍历自动完成生成的所有行并对每一行做一些事情。

现在,我正在按如下方式完成此操作。

这可行,但非常糟糕,因为我通过访问私有变量来打破抽象障碍friendsAutocomplete.rows_。我也不能添加新的方法或属性,friendsAutocomplete因为我的朋友坚决拒绝这样做。

如何在不访问私有变量的情况下遍历自动完成功能生成的行?

0 投票
1 回答
763 浏览

javascript - Google Closure EventTarget 是如何工作的?

我在高级编译模式下遇到错误。

经过一些源映射魔术后,我发现这是从goog.events.listen调用中抛出的,其中第一个参数是我的自定义对象,继承goog.events.EventTarget.

这是在闭包的来源

所以这个函数最终在我的对象的原型上,以及customEvent_ = true,然后在goog.events.listen

(最后一行是抛出的那一行)

这不应该最终导致堆栈溢出吗?else如果我的对象继承addEventListener自,为什么它会进入分支EventTarget?在简单编译模式下,一切正常。这是如何工作的,为什么我只在高级编译模式下收到错误?

0 投票
3 回答
1093 浏览

javascript - 为什么我用 Google Closure 编写的事件监听器不起作用?

我的 Google Closure 代码中有一个带有事件侦听器的函数,该事件侦听器旨在在正文加载时将由大豆模板生成的 HTML 附加到正文:

但是,它不起作用。Chrome 控制台也没有提供任何错误。我试过的是下面的代码,它使用了javascript原生的addEventListener函数。

后一种方法可行,但根本不使用 Closure,所以我觉得它不可靠。为什么我用 Google Closure 编写的事件监听器不起作用?

0 投票
1 回答
368 浏览

javascript - 仅在 Internet Explorer 中未定义命名空间?

我正在使用 Google Closure Library 来实施一个非常大规模的项目。我刚刚开始研究它,但是我在 IE8 中遇到了一个奇怪的错误。它是唯一能在页面中检测到 JavaScript 错误的浏览器,我不明白为什么。

http://www.niuzly.com/ajax/niuzly.base.js

这是所使用的 JS 脚本的链接。它使用 Google JavaScript 指南,所以应该很容易理解所有内容。感谢您的时间!

0 投票
1 回答
182 浏览

javascript - 使用 XhrIo 填充 Object 的变量

我正在尝试将 AJAX 调用中的字典单词列表放入我在 JavaScript 中定义的 Dictionary 对象中。我正在使用 Google Closure Toolkit 进行如下调用:

不幸的是,在 initDictionary 方法内部,“this”指的是 goog.net.XhrIo 而不是 Dictionary 对象。有没有一种方法可以让我在 initDictionary 中获取引用为 this 的 Dictionary 对象?或者其他一些设置变量的方法?谢谢!

0 投票
1 回答
312 浏览

google-closure-library - 为什么子类化 goog.ui.Button 会产生这个错误?

我在我的 Google Closure javascript 中创建了 goog.ui.Button 的子类。

但是,当我使用 实例化此按钮时var newButton = app.ui.NewWidgetButton();,Chrome 控制台中出现错误:

我查了一下方法setContentInternal,它似乎是类的方法goog.ui.Control,它是 的超类goog.ui.Button,所以我很困惑为什么这个方法是未定义的。

0 投票
0 回答
512 浏览

google-closure-library - 为什么我的 Google Closure 代码中总是出现这 2 个错误?

我正在使用 Plovr 用这个配置文件编译我的 javascript。

奇怪的是,我的应用程序可以工作,但我一直在 Chrome 控制台中遇到这 2 个错误。

我检查了第二个错误,发现该属性Params.settings未定义,因此调用Params.settings.debug会产生此错误。但是,我不确定在我的 Closure 代码中哪里可以解决这两个错误中的任何一个。关于在我的代码中要注意什么的任何建议?

第二个错误 ( Uncaught TypeError: Cannot read property 'debug' of undefined ) 奇怪地出现在 58852.user.js 中这条非常长的行中:

再次,Params.settings似乎是未定义的。这是一个 Facebook 应用程序,所以我认为这段代码可能与 Facebook 相关。

0 投票
1 回答
143 浏览

map - 更改 goog.structs.Map 中的默认等于

我正在使用谷歌关闭工具。我正在尝试将对象存储在 Map 中,并且我需要更改它们的比较方式,以便将键适当地评估为相等或不相等。有没有人知道如何做到这一点?谢谢!