Math.random().toString.slice 不是 Javascript 中的函数
Math.random().toString.slice is not a function in Javascript
我正在尝试在 Vue JS 2 上设置自定义指令。但我收到此错误消息:
TypeError: Math.random(...).toString.slice is not a function
这是我在 main.js 上全局编写的指令:
Vue.directive('rainbow', {
bind (el, binding, vnode) {
el.style.color = '#' + Math.random().toString.slice(2, 8)
}
})
这是我调用指令的地方
<h2 v-rainbow>Hello</h2>
我在网上到处搜索但是信息。
任何帮助或建议都非常受欢迎。谢谢
toString
是一个函数,所以你必须按以下方式使用它:
Math.random().toString().slice(2, 8)
----------------------^^^---------
如果您尝试生成随机颜色,那么这是正确的方法:
var colorNumber = Math.floor(Math.random() * 0xffffff);
// converting to hexadecimal
var colorNumberStr = colorNumber.toString(16);
// added 0-s to have fixed 6-length string
var colorNumberStrPadded = ('00000' + colorNumberStr).slice(-6)
el.style.color = '#' + colorNumberStrPadded;
我正在尝试在 Vue JS 2 上设置自定义指令。但我收到此错误消息:
TypeError: Math.random(...).toString.slice is not a function
这是我在 main.js 上全局编写的指令:
Vue.directive('rainbow', {
bind (el, binding, vnode) {
el.style.color = '#' + Math.random().toString.slice(2, 8)
}
})
这是我调用指令的地方
<h2 v-rainbow>Hello</h2>
我在网上到处搜索但是信息。 任何帮助或建议都非常受欢迎。谢谢
toString
是一个函数,所以你必须按以下方式使用它:
Math.random().toString().slice(2, 8)
----------------------^^^---------
如果您尝试生成随机颜色,那么这是正确的方法:
var colorNumber = Math.floor(Math.random() * 0xffffff);
// converting to hexadecimal
var colorNumberStr = colorNumber.toString(16);
// added 0-s to have fixed 6-length string
var colorNumberStrPadded = ('00000' + colorNumberStr).slice(-6)
el.style.color = '#' + colorNumberStrPadded;