在使用闭包工具继承时获取“未定义”属性错误

时间:2015-12-01 02:41:29

标签: javascript google-closure-library

我正在尝试使用闭包工具实现自定义组件。 但它总是给出'goog.ui'未定义的错误。这是我的文件:

HTML

<html>
  <head>
    <script src="closure-library/closure/goog/base.js"></script>
    <script src="hello.js"></script>
  </head>
  </body>
</html>

JS

goog.require('goog.ui.Component');

var dummyComponent = function() {
};
goog.inherits(dummyComponent, goog.ui.Component);

这只是一个存根代码,我知道goog.base的调用丢失了,但我更关注错误:

Uncaught TypeError: Cannot read property 'Component' of undefined

我已经有goog.require()了,我还应该做些什么?

2 个答案:

答案 0 :(得分:0)

在摆弄我找到适合我的东西之后,我不得不在html文件中执行goog.require(...)`一次。

更新了HTML文件

<html>
  <head>
    <script src="closure-library/closure/goog/base.js"></script>
    <script>
         goog.require('goog.ui.Component');
    </script>
    <script src="hello.js"></script>
  </head>
  </body>
</html>

答案 1 :(得分:-1)

您尚未将goog.require('goog.ui.Component')的结果设置为变量:

var goog = goog.require('goog.ui.Component');

var dummyComponent = function() {
};
goog.inherits(dummyComponent, goog);