Math.random().toString.slice 不是 Javascript 中的函数

Bee*_*Lee 2 javascript vuejs2 vue-directives

我正在尝试在 Vue JS 2 上设置自定义指令。但我收到了以下错误消息:

TypeError: Math.random(...).toString.slice is not a function
Run Code Online (Sandbox Code Playgroud)

这是我在 main.js 上全局编写的指令:

Vue.directive('rainbow', {
  bind (el, binding, vnode) {
    el.style.color = '#' + Math.random().toString.slice(2, 8)
  }
})
Run Code Online (Sandbox Code Playgroud)

这是我调用指令的地方

<h2 v-rainbow>Hello</h2>
Run Code Online (Sandbox Code Playgroud)

我在网上到处搜索,但信息。任何帮助或建议都非常受欢迎。谢谢

Mih*_*nut 6

toString 是一个函数,所以你必须通过以下方式使用它:

Math.random().toString().slice(2, 8)
----------------------^^^---------
Run Code Online (Sandbox Code Playgroud)