Polymer 1.0:可能导致此错误的原因是什么? "未捕获的TypeError:这不是一个函数"

时间:2015-07-26 01:14:02

标签: authentication polymer polymer-1.0

问题

  

可能导致以下控制台错误的原因是什么?

     

Uncaught TypeError: this.$.authgoogle.signin is not a function

目标

  1. 我正在尝试在自定义元素中实现用户身份验证。
  2. 我正在使用Google的身份验证服务来处理身份验证。
  3. 出于样式设计的目的,我使用的是自己的自定义<paper-button>,而不是<google-signin>元素附带的按钮。
  4. 我正在使用<google-signin-aware>元素进行身份验证。 Here is the documentationHere is the Github
  5. 假设

    1. 我无法更改<google-signin>元素附带的显示按钮的样式,以充分满足我的UX设计目标。
    2. 因此,我必须使用<google-signin-aware>非显示元素来处理用户身份验证任务。
    3. <google-signin-aware>能够以这种方式使用时处理身份验证任务。即,独立于<google-signin>元素。
    4. 代码

      <dom-module id="my-auth">
        <template>
          <google-signin-aware id="authgoogle"></google-signin-aware>
          <paper-button on-tap="_handleAuth">Login with Google</paper-button>
        </template>
      </dom-module>
      <script>
        (function() {
          Polymer({
            is: 'my-auth',
            _handleAuth: function(e) {
              this.$.authgoogle.signin();
            }
          });
        })();
      </script>
      

1 个答案:

答案 0 :(得分:1)

正确的函数调用语法是.signIn()

首先,我使用.login()。然后我使用.signin()(没有camelCase)。

一个警示故事:第二双眼睛总是很方便。