VUEJS - 为啥我得到:未捕获的类型错误:'instanceof' 的右侧?

Posted

技术标签:

【中文标题】VUEJS - 为啥我得到:未捕获的类型错误:\'instanceof\' 的右侧?【英文标题】:VUEJS - Why do I get: Uncaught TypeError: Right-hand side of 'instanceof'?VUEJS - 为什么我得到:未捕获的类型错误:'instanceof' 的右侧? 【发布时间】:2019-03-22 00:01:58 【问题描述】:

我在 vue.js 中遇到关于“未捕获的类型错误:'instanceof' 的右侧不是对象”的问题。

我正在使用 Vue 2.2.1 版本,以下是我遇到此问题的代码 sn-p。

Vue.component('componentName', 
'template': ``,
 props: 
  contentTypeUid: 
    type: 'string',
    required: false
  ,
  limit: 
    type: 'number',
    required: false,
    default: 10
  
 ,
 ......
);

虽然 if 而不是上面的工作没有任何问题,但我想使用上面的格式,因为我需要在 props 上指定一些验证和默认值。

Vue.component('componentName', 
'template': ``,
 props: ["contentTypeUid", "limit"],
 ......
);

谢谢。

【问题讨论】:

【参考方案1】:

用途:

props: 
  contentTypeUid: 
    type: String, // not 'string'
    required: false
  ,
  limit: 
    type: Number, // not 'number'
    required: false,
    default: 10
  
 ,

【讨论】:

另一种可能发生这种情况的情况是使用type: 而不是type: Object【参考方案2】:

可能出现此错误的另一种情况:

props: 
    prop_id: 
        required: true
    ,
    title: 'Not specified'
,

所以你需要把它改成:

props: 
    prop_id: 
        required: true
    ,
    title: 
        default: 'Not specified'
    
,

【讨论】:

以上是关于VUEJS - 为啥我得到:未捕获的类型错误:'instanceof' 的右侧?的主要内容,如果未能解决你的问题,请参考以下文章

Vuejs - 未捕获的类型错误:无法重新定义属性:$router

VueJs 3 - Vuex:未捕获的类型错误:存储不是函数

vuejs 3:未捕获的类型错误:对象(...)不是函数[重复]

VueJS 3 + Laravel:未捕获的类型错误:无法读取未定义的属性“组件”

未捕获的类型错误:无法读取 VueJs 中未定义的属性“get”

VueJS 3 / 路由器 / 带有推送的重定向:未捕获(承诺中)类型错误:无法读取未定义的属性(读取“推送”)